Avertissement du compilateur (niveau 1) C4461
'type' : cette classe a un finaliseur 'finaliseur' mais aucun destructeur 'dtor'
La présence d’un finaliseur dans un type implique des ressources à supprimer. Sauf si un finaliseur est explicitement appelé à partir du destructeur du type, le Common Language Runtime détermine quand exécuter le finaliseur, une fois votre objet hors de portée.
Si vous définissez un destructeur dans le type et appelez explicitement le finaliseur à partir du destructeur, vous pouvez exécuter de manière déterministe votre finaliseur.
Pour plus d’informations, consultez Destructeurs et finaliseurs.
Exemple
L’exemple suivant génère l’erreur C4461.
// C4461.cpp
// compile with: /W1 /clr /c
ref class A {
protected:
!A() {} // C4461
};
// OK
ref struct B {
~B() {
B::!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