Compartir a través de


Advertencia del compilador (nivel 3) C4265

Actualización: noviembre 2007

Mensaje de error

'clase' : la clase tiene funciones virtuales, pero el destructor no es virtual
'class' : class has virtual functions, but destructor is not 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 ejemplo 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;
}