Megosztás a következőn keresztül:


Fordító figyelmeztetése (1. szint) C4722

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