Предупреждение компилятора (уровень 3, выключен) C4265
"classname": класс имеет виртуальные функции, но его нетривиальный деструктор не является виртуальным; экземпляры этого класса могут быть неправильно деструктированы
Если класс имеет виртуальные функции, но невиртуальный деструктор, объекты типа могут быть неправильно уничтожены при уничтожении класса с помощью указателя базового класса.
Это предупреждение отключено по умолчанию. Дополнительные сведения см. в разделе Compiler Warnings That Are Off by Default.
Следующий пример приводит к возникновению ошибки 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;
}