KSIĄŻKA:
TYTUŁ: "Mały Książe"
AUTOR: Antoine de Saint-Exupéry
ROK WYDANIA: 1943
WYDAWNICTWO: Zielona Sowa
GATUNEK: Nowela
LICZBA STRON: 62
CENA: 4.99 USD
如果错误而不是它有什么问题?
我试过这个代码在turbo c ++上运行,我仍然得到错误
预期在“
的成员标识符#include <iostream.h> class a { public: ~a() { cout << 1; } }; int main() { a ob; ob.~a(); return 0; }
”行
其他猜测输出?
答案 0 :(得分:4)
通常不会显式调用析构函数。当实例超出范围时,它们将被隐式调用。
两次调用同一实例的析构函数会导致未定义的行为。
虽然现代编译器没有编译器错误。请见here。可能这是Turbo C ++设计人员在错误信息中留下的一个罕见的好决定。
极少数情况下会明确调用析构函数,例如如果您要维护使用placement new创建的实例池。
答案 1 :(得分:2)
通话可能适用于ob.a::~a()
。
话虽如此,您不需要也不应该显式调用析构函数,一旦ob
对象超出范围,就会自动调用它。