Форум программистов, компьютерный форум CyberForum.ru

Динамический массив указателей - C++

Восстановить пароль Регистрация
 
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
30.11.2012, 00:35     Динамический массив указателей #1
Есть класс "блока" - MapBuilderClass::BlockClass. Надо создать массив из MapBuilderClass::BlockClass* (из указателей на "блок"), изменять его размер в цикле и добавлять новые указатели.

Пробовал так:
C#
1
2
3
4
5
6
7
8
9
10
11
MapBuilderClass::BlockClass* IntersectBlocks[] = { 0x00000000 };
 
// бла-бла-бла
 
 
// в цикле:
if(какое-то сравнение)
{
    IntersectBlocks = (MapBuilderClass::BlockClass*)realloc(&IntersectBlocks, i*sizeof(MapBuilderClass::BlockClass*));
    IntersectBlocks[i] = new MapBuilderClass::BlockClass();
}
Добавлено через 2 минуты
пишет: невозможно преобразовать "MapBuilderClass::BlockClass *" в "MapBuilderClass::BlockClass *[1]"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 00:37     Динамический массив указателей #2
std::vector
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
30.11.2012, 00:38  [ТС]     Динамический массив указателей #3
Цитата Сообщение от I.M. Посмотреть сообщение
std::vector
С радостью, но не подходит. Надо создать обычный массив.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 00:39     Динамический массив указателей #4
Почему не подходит? в самый раз. Почему нужен именно обычный массив?
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
30.11.2012, 00:41  [ТС]     Динамический массив указателей #5
Цитата Сообщение от I.M. Посмотреть сообщение
Почему не подходит? в самый раз. Почему нужен именно обычный массив?
Потому что функция должна возвращать именно массив указателей на блоки, не хочется извращений))
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
30.11.2012, 00:43     Динамический массив указателей #6
Я так понимаю, то, что функция должна делать, прописываете вы сами. Так что мешает вернуть вектор?
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
30.11.2012, 00:51  [ТС]     Динамический массив указателей #7
Цитата Сообщение от I.M. Посмотреть сообщение
Я так понимаю, то, что функция должна делать, прописываете вы сами. Так что мешает вернуть вектор?
Функция должна возвращать не std::vector<MapBuilderClass::BlockClass*> а MapBuilderClass::BlockClass**. Да и просто хочется посмотреть на "ровное" решение

Добавлено через 4 минуты
Ну же профи, помогите :3
папа щас wi-fi отключит
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
30.11.2012, 01:01     Динамический массив указателей #8
Цитата Сообщение от sooqua Посмотреть сообщение
Функция должна возвращать не std::vector<MapBuilderClass::BlockClass*> а MapBuilderClass::BlockClass**
То есть ты сам знаешь, что тебе нужно вернуть BlockClass**, но упорно заводишь массив BlockClass *[]
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2012, 01:07     Динамический массив указателей
Еще ссылки по теме:

C++ динамический массив указателей на объекты
Динамический массив указателей C++
C++ Динамический массив с использованием указателей

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
sooqua
15 / 9 / 0
Регистрация: 23.02.2012
Сообщений: 135
30.11.2012, 01:07  [ТС]     Динамический массив указателей #9
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
То есть ты сам знаешь, что тебе нужно вернуть BlockClass**, но упорно заводишь массив BlockClass *[]
А в чём разница?

Добавлено через 4 минуты
усмирили.. буду вектор юзать всем спасибо
Yandex
Объявления
30.11.2012, 01:07     Динамический массив указателей
Ответ Создать тему
Опции темы

Текущее время: 02:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru