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
}
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro