Compartir a través de


Advertencia del compilador (nivel 3, desactivado) C4265

"classname": la clase tiene funciones virtuales, pero su destructor no trivial no es virtual; puede que las instancias de esta clase no se destruyan correctamente

Cuando una clase tiene funciones virtuales pero un destructor no virtual, es posible que los objetos del tipo no se destruyan correctamente cuando la clase se destruye a través de un puntero de clase base.

De forma predeterminada, esta advertencia está desactivada. Para obtener más información, consulte Compiler Warnings That Are Off by Default.

En el ejemplo siguiente se genera la advertencia 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;
}