Возможный дубликат:
C ++ вызов удаления переменной, размещенной в стеке
int i = 10;
int* iP = &i;
delete iP;
Что именно происходит при выполнении этого кода? Я вообще не получаю никаких ошибок времени выполнения или предупреждений компилятора, указатель по-прежнему сохраняет тот же адрес до и после вызова на нем удаления, однако после удаления попытки разыменования или даже приведения его к int
происходит сбой программы иногда strong > но в другой раз он просто работает, что пахнет неопределенным поведением.