[an error occurred while processing this directive]
Off. Ну что же это делается?
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено -=ВН=- 30 ноября 2004 г. 14:51

Замучен тупостью компиляторов С. Едва не пал в неравной борьбе.
Ну представьте.
Написал я программке такую вот цепочку:
pnt1=new float[128];
pnt2=new float[128];
....
pntn=new float[128];
pnt1-pntn объявлены указателями на float, предварительно им всем присвоен null, а проверки на выделение памяти я опустил.
Потом отработали свое эти pnt, возжелал я их удалить.
Вот так:
if(pnt1) {delete pnt1;pnt1=NULL;}
if(pnt2) {delete pnt1;pnt1=NULL;}
...
if(pntn) {delete pnt1;pnt1=NULL;}
И вся эта цепь, с выделением, удалением, в некотором цикле работает.
И вот, вспомнить страшно, после опред. числа проходов цикла память у меня вся поизрасходовалась.
Ну описался я, в удалении всегда pnt1 использовалось, что же казнить за это?
Что компилятор сам не мог допетрить, что если написано if(pnt2), то и удаляться должен pnt2, а вовсе не pnt1?
И мне спокойнее и его реже запускать бы пришлось.
Ведь 3 дня ошибку искал.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru