Avertissement du compilateur (niveau 3, désactivé) C4265
'classname' : la classe a des fonctions virtuelles, mais son destructeur non trivial n'est pas virtuel ; les instances de cette classe risquent de ne pas être détruites correctement
Lorsqu’une classe a des fonctions virtuelles, mais dispose d’un destructeur non virtuel, les objets du type peuvent ne pas être détruits correctement lorsque la classe est détruite par le biais d’un pointeur de classe de base.
Cet avertissement est désactivé par défaut. Pour plus d'informations, consultez Compiler Warnings That Are Off by Default.
L’échantillon suivant génère l’avertissement 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;
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour