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

'class' : クラスは仮想関数を含んでいますが、デストラクターは仮想デストラクターではありません

クラスに仮想関数が存在するが非仮想デストラクターは存在しない場合、基底クラスのポインターを介してクラスが破棄されるときに、その種類のオブジェクトが正しく破棄されない可能性があります。

既定では、この警告はオフに設定されています。 詳細については、「 既定で無効になっているコンパイラ警告 」を参照してください。

次の例では 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;
}