Compilerwarnung (Stufe 3) C4265

Aktualisiert: November 2007

Fehlermeldung

'Klasse': Die Klasse verfügt über virtuelle Funktionen, der Destruktor ist jedoch nicht virtuell
'class' : class has virtual functions, but destructor is not virtual

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