Share via


Upozornění kompilátoru (úroveň 1) C4722

'function' : destruktor nikdy nevrátí, potenciální nevracení paměti

Tok řízení se ukončí v destruktoru. Vlákno nebo celý program se ukončí a přidělené prostředky nemusí být uvolněny. Navíc, pokud bude volána destruktor pro odvíjení zásobníku během zpracování výjimek, chování spustitelného souboru není definováno.

Pokud chcete problém vyřešit, odeberte volání funkce, které způsobí, že se destruktor nevrátí.

Příklad

Následující ukázka vygeneruje C4722:

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