【发布时间】:2013-09-19 17:04:44
【问题描述】:
我正在尝试在 Turbo C++ 中显式调用类的析构函数:
A a;
a.~A();
但它显示错误:
需要成员标识符。
有什么方法可以在 Turbo C++ 中显式调用析构函数?
【问题讨论】:
-
它在这个千年的编译器上编译得很好coliru.stacked-crooked.com/a/c04b9139cc4e8794(虽然它有未定义的行为,但那是另一回事)
-
当对象超出范围时将自动调用析构函数(在您的情况下,当主函数的执行完成时,因为
a是main中的局部变量)。你不需要显式调用它。 -
为什么要显式调用析构函数?
-
@ShreyasA:是的,你的编译器太旧了。就像没有人再使用 MS-DOS 一样,你不应该使用它。
-
@ShreyasA 考虑将该编译器捐赠给某个博物馆,他们可能会很高兴再次看到其中一个;)(注意:无意冒犯。尝试 GCC 或 LLVM/Clang,这些是状态-最先进的编译器,它们是免费的)。
标签: c++ compiler-errors destructor turbo-c++