Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"функция": деструктор не возвращает ресурсы, возможна утечка памяти
Замечания
Поток управления завершается в деструкторе. Поток или вся программа завершится, и выделенные ресурсы могут не освободиться. Кроме того, если деструктор будет вызван для очистки стека во время обработки исключения, поведение исполняемого файла может быть неопределенным.
Для решения проблемы удалите вызов функции, являющийся причиной невозвращения деструктора.
Пример
В следующем примере создается 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
}