Condividi tramite


Avviso del compilatore (livello 3, off) C4265

'classname': la classe dispone di funzioni virtuali, ma il distruttore non semplice non è virtuale. Le istanze di questa classe potrebbero non essere destruite correttamente

Quando una classe ha funzioni virtuali ma un distruttore non virtuale, gli oggetti del tipo potrebbero non essere eliminati correttamente quando la classe viene eliminata definitivamente tramite un puntatore alla classe base.

Per impostazione predefinita, questo avviso non è attivo. Per altre informazioni, vedere Compiler Warnings That Are Off by Default.

L'esempio seguente genera 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;
}