Compartir a través de


Advertencia del compilador (nivel 3) C4265

'clase' : la clase tiene funciones virtuales, pero el destructor no es virtual

Cuando una clase tiene funciones virtuales pero un destructor no virtual, los objetos de su tipo pueden no destruirse correctamente cuando se destruye la clase a través de un puntero de clase base.

De forma predeterminada, esta advertencia está desactivada. Para obtener más información, vea Advertencias del compilador desactivadas de forma predeterminada.

El código siguiente genera el error 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;
}