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


Автор: manking 13.11.2011, 19:36
Можно ли чтобы указатель стал ссылаться на массив элементов другого размера? 

Код

int * массив;
массив = new int [20_элементов];


массив[0] = 1;
...
массив[19] = 44;



{

int * второй_массив;
второй_массив= new int [25_элементов];

второй_массив[0] = 5;
...
второй_массив[24] = 72;

// чтобы здесь очистить старые данные и присвоить указатель на новый тип с другой размерностью
delete [] массив;
массив = второй_массив;

}

// вот здесь ошибка 
delete [] массив;







Автор: mes 13.11.2011, 19:50
можно 

Автор: bsa 13.11.2011, 20:40
manking, скорее всего, у тебя где-то еще удаляется второй массив...
Рекомендую использовать std::vector для этих целей.

Автор: manking 13.11.2011, 21:14
Да похоже на то.
Переписал так чтобы второй массив удалялся там же где и  объявлялся. 
Спасибо.



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