Ostrzeżenie kompilatora (poziom 3, wyłączony) C4265
"classname": klasa ma funkcje wirtualne, ale jej nietrywialny destruktor nie jest wirtualny; wystąpienia tej klasy mogą nie być poprawnie zdestrukturowane
Jeśli klasa ma funkcje wirtualne, ale niewirtualny destruktor, obiekty typu mogą nie zostać prawidłowo zniszczone, gdy klasa zostanie zniszczona za pomocą wskaźnika klasy bazowej.
To ostrzeżenie jest domyślnie wyłączone. Aby uzyskać więcej informacji, zobacz Ostrzeżenia kompilatora, które są domyślnie wyłączone.
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;
}