Condividi tramite


Avviso del compilatore (livello 3) C4265

'classe': la classe ha funzioni virtuali ma il distruttore non è virtuale.

Quando una classe dispone di funzioni virtuali, ma il distruttore non è virtuale, è possibile che gli oggetti del tipo non vengano eliminati correttamente quando la classe viene eliminata tramite un puntatore a una classe base.

Per impostazione predefinita, questo avviso non è attivo. Per ulteriori informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.

Nell'esempio seguente viene generato l'errore 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;
}