Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Как динамически указать размер массива компонент?


Автор: ZufuS 13.7.2006, 19:24
Как динамически указать размер массива компонент?
Код
p = new TButton [N];
Здесь ему что-то не нравится и он пишет: Cannot find default constructor to initialize array element of type 'TButton' 

Автор: 586 13.7.2006, 20:06
b=new TButton*[num]; 

Автор: ZufuS 13.7.2006, 21:19
Спасибо! А когда я удаляю из выделенной памяти этот массив все кнопки этого массива на форме наверно должны исчезнуть? Может я неправильно пишу?
Код
delete [] p;
 

Автор: BreakPointMAN 13.7.2006, 21:45
Цитата(ZufuS @  13.7.2006,  21:19 Найти цитируемый пост)
А когда я удаляю из выделенной памяти этот массив все кнопки этого массива на форме наверно должны исчезнуть?

Нет, не должны, поскольку ты удаляешь массив указателей на кнопки,  но не сами кнопки. Деструктор для конкретных объектов не вызывается.

Цитата(ZufuS @  13.7.2006,  21:19 Найти цитируемый пост)
Может я неправильно пишу?

Да, ты неправильно пишешь, если таким образом хочешь удалить с формы все созданные в runtime кнопки. В таком случае тебе надо в цикле вызвать операцию delete для каждого объекта, на который указывает соответствующий элемент массива указателей.
 

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