Re[5]: Правильное использование new/delete
От: Bell Россия  
Дата: 29.07.03 14:34
Оценка:
Здравствуйте, Hermes, Вы писали:


B>>
B>>for(int i = 0; i < sizeof(ch2)/sizeof(ch2[0]); ++i)
B>>   delete [] ch2[i];
B>>


H>Неа VC6 ругается ...

H>

И правильно делает. Я ошибся. Ты потерял свои указатели на выделенные блоки после строки (1), как совершенно справедливо заметил наш анонимный коллега чуть ниже.
Возможно, ты хотел что-то типа этого?

char *ch2[3];
ch2[0] = new char[8];
ch2[1] = new char[8];
ch2[2] = new char[8];
strcpy(ch2[0], "0000000");
strcpy(ch2[1], "1111111");
strcpy(ch2[2], "2222222");
cout << ch2[0] << ch2[1] << ch2[2] <<endl; 

for(int i = 0; i < sizeof(ch2)/sizeof(ch2[0]); ++i)
   delete [] ch2[i];
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.