【发布时间】:2011-11-08 13:38:26
【问题描述】:
当类具有至少一个虚成员函数且没有虚析构函数时,Visual C++ 可以发出 C4265 warning。
很明显,当派生类对象通过指向基类的指针为deleted 并且基类中没有虚拟析构函数时,会出现警告。这种情况会产生未定义的行为。顺便说一句,我刚刚通过在 Visual C++ 中启用 C4265,在相当大的代码库中找到了这种情况的示例。
而且这个警告默认是关闭的。
为什么?如果我启用它并向发出警告的每个类添加一个虚拟析构函数会发生什么?
【问题讨论】:
标签: c++ visual-c++ compiler-construction destructor compiler-warnings