如何在Turbo C++中显式调用类的析构函数

Shr*_*yas 4 c++ destructor compiler-errors turbo-c++

我试图在Turbo C++中显式调用类的析构函数:

A a;
a.~A();
Run Code Online (Sandbox Code Playgroud)

但它显示错误:

预期成员标识符.

有没有办法在Turbo C++中显式调用析构函数?

bil*_*llz 5

您不需要显式调用析构函数,当一个对象automatic duration超出范围时,它的析构函数将被隐式调用.

void main()
{
    A a;
    //a.~A();  // you need to comment out this line
} // a.~A() is called again, you try to destroy an object twice.
Run Code Online (Sandbox Code Playgroud)


sas*_*alm 5

这个链接,你似乎真的可以做到这一点,有效的格式是:

A a;
// a.~A(); // Wrong - Member identifier expected
a.A::~A(); // Valid
Run Code Online (Sandbox Code Playgroud)

但是我没有Turbo C++编译器来测试它,所以你必须测试它.

[编辑]

OP测试它,它的工作原理.