コンパイラの警告 (レベル 3) C4265

'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;
}