Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
"függvény" : a destruktor soha nem tér vissza, lehetséges memóriavesztés
Megjegyzések
A vezérlőfolyamat egy destruktorban leáll. Előfordulhat, hogy a szál vagy a teljes program leáll, és a lefoglalt erőforrások nem lesznek felszabadítva. Továbbá, ha a kivételfeldolgozás során egy destruktort hív meg a verem kikapcsolására, a végrehajtható folyamat működése nincs meghatározva.
A probléma megoldásához távolítsa el azt a függvényhívást, amely miatt a destruktor nem tér vissza.
Example
Az alábbi példa c4722-et hoz létre:
// 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
}