Compilerwarnung (Ebene 3, deaktiviert) C4265

'classname': Die Klasse besitzt virtuelle Funktionen, aber der zugehörige nicht triviale Destruktor ist nicht virtuell; Instanzen dieser Klasse werden möglicherweise nicht korrekt zerstört

Wenn eine Klasse virtuelle Funktionen, aber einen nicht-virtuellen Destruktor aufweist, werden Objekte des Typs möglicherweise nicht ordnungsgemäß zerstört, wenn die Klasse über einen Basisklassenzeiger zerstört wird.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Compiler Warnings That Are Off by Default.

Im folgenden Beispiel wird C4265 generiert:

// 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;
}