Share via


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

'classname': クラスには仮想関数がありますが、その非自明なデストラクターは仮想ではありません。このクラスのインスタンスは正しく破棄されない可能性があります

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

既定では、この警告はオフに設定されています。 詳細については、「 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;
}