Partager via


Avertissement du compilateur (niveau 3) C4265

'classe' : la classe possède des fonctions virtuelles, mais le destructeur n'est pas virtuel

Quand une classe a des fonctions virtuelles mais un destructeur non virtuel, les objets du type peuvent ne pas être supprimés correctement quand la classe est supprimée par un pointeur de classe de base.

Cet avertissement est désactivé par défaut.Pour plus d'informations, consultez Avertissements du compilateur désactivés par défaut.

L'exemple suivant génère l'erreur 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;
}