Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[35.172.193.238] |
|
Сообщ.
#1
,
|
|
|
Есть структура. Создал записи 1,2,3 - удаляю 3,2,1. То есть, все в обратную сторону.
Но при очистке ПО вылетает. for (unsigned int uiTemp=0; uiTemp<g_uiNesterov_Maximum; uiTemp++) { delete []g_strFile_Data->strAnalogs.strAnalog[uiTemp].bError; delete []g_strFile_Data->strAnalogs.strAnalog[uiTemp].fLimit_Low; delete []g_strFile_Data->strAnalogs.strAnalog[uiTemp].fValue; delete []g_strFile_Data->strAnalogs.strAnalog[uiTemp].fLimit_High; delete []g_strFile_Data->strAnalogs.strAnalog[uiTemp].fTime; } delete []g_strFile_Data->strAnalogs.strAnalog; delete []g_strFile_Data->strFrame1; delete []g_strFile_Data->strFrame2; delete []g_strFile_Data->strFrame3; delete []g_strFile_Data->strFrame4; delete []g_strFile_Data; g_strFile_Data = NULL; Как игнорировать ошибку, при которой ПО падает, - и попытаться доудалять то, что осталось? Try не помогает. Единственный способ очистки памяти, который нашел - перезапуск ПО. Тогда и delete никогда не нужен. |
Сообщ.
#2
,
|
|
|
Обычно падение на delete это уже следствие кривой работы с памятью. page heap flag в помощь.
|