Partager via


Avertissement du compilateur (niveau 3) C4265

Mise à jour : novembre 2007

Message d'erreur

'classe' : la classe possède des fonctions virtuelles, mais le destructeur n'est pas virtuel
'class' : class has virtual functions, but destructor is not virtual

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;
}