Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Проблема с динамическим выделением памяти


Автор: Свирепый 6.11.2006, 14:51
#define SAFE_DELETE(p)  { if(p) { delete (p);     (p)=NULL; } }

SAFE_DELETE( g_pWaveFile );
g_pWaveFile = new CWaveFile; //ошибка возникает в работе new

выдает ошибку: Unhandled exception at 0x7c9105f8 in ipphone2.exe: 0xC0000005: Access violation reading location 0x00000010.

указывает на строку в файле malloc.c при выходе из функции 
void * __cdecl _heap_alloc_base (size_t size);

ps
еще полдня и я пополню сводку криминальной хроники в разделе суицид!!!

Автор: Daevaorn 6.11.2006, 14:54
Свирепый, ты просто раньше где-то загубил хип. Проверяй свой код: выход за приделы массива и т.д.

Автор: Свирепый 6.11.2006, 15:16
она у меня просто не была инициализирована)

Автор: keksus 7.11.2006, 12:56
проверка указателя на неравность нулю при удалении избыточно. по стандарту с++ это делается внутри оператора delete.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)