Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
'functie' : destructor retourneert nooit, potentieel geheugenlek
Opmerkingen
De controlestroom wordt beƫindigd in een destructor. De thread of het hele programma wordt beƫindigd en toegewezen resources worden mogelijk niet vrijgegeven. Bovendien is het gedrag van uitvoerbaar bestand niet gedefinieerd als een destructor wordt aangeroepen voor stapels die worden afwikkeld tijdens het verwerken van uitzonderingen.
Als u dit wilt oplossen, verwijdert u de functieaanroep die ervoor zorgt dat de destructor niet wordt geretourneerd.
Example
In het volgende voorbeeld wordt C4722 gegenereerd:
// C4722.cpp
// compile with: /O1 /W1 /c
#include <stdlib.h>
class C {
public:
C();
~C() { exit(1); } // C4722
};
extern void func (C*);
void Test(){
C x;
func(&x);
// control will not leave Test because destructor will exit
}