Udostępnij za pośrednictwem


Kompilator ostrzeżenia (poziom 3) C4265

"Klasa": klasa ma funkcje wirtualnych, ale destruktora nie jest wirtualna

Gdy klasa posiada funkcje wirtualnych, ale niewirtualna destruktor, obiekty tego typu może nie właściwie zniszczone podczas tej klasy jest niszczony, za pomocą wskaźnika klasy podstawowej.

To ostrzeżenie jest domyślnie wyłączona.Zobacz Kompilator ostrzeżenia że są wyłączone domyślnie Aby uzyskać więcej informacji.

Poniższy przykład generuje 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;
}