컴파일러 경고(수준 3, 해제) C4265
'classname': 클래스에 가상 함수가 있지만 non-trivial 소멸자가 가상이 아닙니다. 이 클래스의 인스턴스가 정확하게 소멸되지 않을 수 있습니다.
클래스에 가상 함수가 있지만 가상이 아닌 소멸자가 있는 경우 클래스가 기본 클래스 포인터를 통해 소멸될 때 형식의 개체가 제대로 소멸되지 않을 수 있습니다.
기본적으로 이 경고는 해제되어 있습니다. 자세한 내용은 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;
}