Что-то с памятью!
От: svpout  
Дата: 29.10.02 23:01
Оценка:
Помогите пожалуйста разобраться!
Я выделяю память
r = new double[m_ulCommonAmount + 1];
s = new double[m_ulCommonAmount + 1];
потом её удаляю после использования
if (r != NULL) delete [] r;
if (s != NULL) delete [] s;
r = s = NULL;
если откомпилить в Debug то во время освобождения возникает ошибка: Damage: after Normal block (#246) at 0x002fb168.
Эта ошибка никак не связана с повторным удалением тогоже блока. Блок очищается только один раз. Проверял.
Пробовал заменить выделение на:
r = (double*)HeapAlloc(GetProcessHeap(),0,(m_ulCommonAmount + 1)*sizeof(double));
s = (double*)HeapAlloc(GetProcessHeap(),0,(m_ulCommonAmount + 1)*sizeof(double));
Ошибка пропала, но в режиме отладки (F5) возникает уже в асме!
Я не очень пнимаю что происходит.
Помогите пожалуйста.
Сергей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.