我在阅读this,其中提到析构函数是琐碎的和非琐碎的。
例如,我有一个类,
class C {
public:
~C(); // not explicitly declared.
};
如果隐式定义了
C::~C()
,它是否会产生普通错误? 最佳答案
您的话语很困惑。您的示例确实声明了显式析构函数。您也只是忘记定义它,所以您会收到一个链接器错误。
规则很简单:您的类是否具有显式的析构函数?如果是的话,那您就算平凡了。如果否,请检查每个非静态成员对象;否则,请检查每个对象。如果它们中的任何一个都是不平凡的,那么您就是不平凡的。