| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Помогите решить проблему |
| Автор: Crywolf 8.6.2010, 18:35 | ||||||
В общем такое дело.Пишу одну программу.Написал свой класс.Во его .н файл
и вот цппшник
Так вот, в другом классе я создаю массив этих объектов.Но не могу толком выделить для них память.Вот что я пробую:
num1 и num2 - любые числа. Помогите пожалуйста!!В чём может быть проблема? |
| Автор: borisbn 9.6.2010, 06:19 |
| Если num1 и num2 это переменные, то так > P i l o t * p i l e t o n [ n um2 ] описывать массив указателей нельзя. Нужно выделить его динамически: P i l o t ** p i l e t o n =new Pilot*[ n um2 ]; и далее по тексту. А лучше использовать std::vector< Pilot* > |
| Автор: boostcoder 9.6.2010, 06:37 |
можно. но каждому указателю нужно выделить память. но как уже сказали - но еще лучше, если очень нужно хранить указатели: std::vector<std::shared_ptr<Pilot>> |
| Автор: borisbn 9.6.2010, 07:54 |
| boostcoder, если num1 - переменная, а не константа, то так выделять можно только на стеке, и, если не изменяет память, не во всех компиляторах. С shared_ptr полностью согласен (-1 мне, за то, что забыл |
| Автор: boostcoder 9.6.2010, 09:32 |
угу. насколько мне известно, только в gcc. |
| Автор: djamshud 9.6.2010, 10:55 | ||||
По стандарту размер массива указывается константой. Прямых ссылок не дам, я из pdf-ки копировал, стандарт 2003-го года. |