编译器警告(等级 3)C4265

“class”: 类有虚函数,但析构函数不是虚拟的

如果类有虚函数,但其析构函数不是虚拟的,则在通过基类指针销毁该类时可能不会正确销毁此类型的对象。

默认情况下关闭此警告。 有关更多信息,请参见默认情况下处于关闭状态的编译器警告

下面的示例生成 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;
}