コンパイラの警告 (レベル 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;
}