编译器警告(级别 3,关闭)C4265

'classname':类包含虚函数,但其不常用的析构函数不是虚函数;该类的实例可能无法正确析构

当类具有虚拟函数但是是非虚拟析构函数时,该类型的对象在该类通过基类指针被销毁类时可能不会被正确销毁。

默认情况下,此警告处于关闭状态。 有关详细信息,请参阅 Compiler Warnings That Are Off by Default

下面的示例生成 C4265:

// C4265.cpp
// compile with: /W3 /c
#pragma warning(default : 4265)
class B
{
public:
   virtual void vmf();

   ~B();
   // try the following line instead
   // virtual ~B();
};   // C4265

int main()
{
   B b;
}