Freigeben über


Compilerwarnung (Stufe 3) C4265

'Klasse': Die Klasse verfügt über virtuelle Funktionen, der Destruktor ist jedoch nicht virtuell

Wenn eine Klasse über virtuelle Funktionen, aber einen nicht virtuellen Destruktor verfügt, werden Objekte des Typs möglicherweise nicht ordnungsgemäß gelöscht, wenn eine Klasse durch einen Basisklassenzeiger gelöscht wird.

Diese Warnung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Standardmäßig deaktivierte Compilerwarnungen.

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