コンパイラの警告 (レベル 3) C4265
更新 : 2007 年 11 月
エラー メッセージ
'class' : クラスは仮想関数を含んでいますが、デストラクタは仮想デストラクタではありません。
クラスに仮想関数があっても、デストラクタが非仮想の場合は、基本クラスのポインタを通じてクラスが破棄されるときに、その型のオブジェクトが正常に破棄されないことがあります。
既定では、この警告はオフに設定されています。詳細については、「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;
}