Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.08.2019, 14:11   #1
ezus
Пользователь
 
Регистрация: 08.05.2009
Сообщений: 78
По умолчанию Ms VS-2017 C++ темплейты

Добрый день.

Проблема непонимания основ.

Есть код
Код:
CPtrArray strOut;	strOut.SetSize(0, 5);

CArray<CStringArray, CStringArray> strChildOuts;		strChildOuts.SetSize(0, szchs);

for (int ic = 0; ic < szchs; ic++)
{
		CStringArray& strChildOut = strChildOuts[ic];
		strOut.Add(&strChildOut);
}
В нем:
CPtrArray strOut - список указателе на CStringArray

В цикле мне надо создать несколько CStringArray, заполнить их и сохранить указатели на них в strOut. Сначала я сделал классическую ошибку описав массив CStringArray strChildOut внутри цикла. Быстро ее нашел, но уперся в "что дальше".

Вынес описание во вне цикла, создав для этого массив: CArray<CStringArray, CStringArray> strChildOuts.
Но никак не могу получить указатель на элемент strChildOuts[ic], чтобы поместить его в strOut.

Падает в рантайме.

Я что-то не понимаю в основах использования темплейтов или где-то рядом.

В чем ошибка?
ezus вне форума Ответить с цитированием
Старый 06.08.2019, 14:23   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Вы указали, что у вас массивы длины 0. Потом пытаетесь индексировать, да еще и сохраняете указатель на то, что может переместиться.
p51x на форуме Ответить с цитированием
Старый 06.08.2019, 14:35   #3
ezus
Пользователь
 
Регистрация: 08.05.2009
Сообщений: 78
По умолчанию

Спасибо, понятно.
А какой вариант модно предложить?
ezus вне форума Ответить с цитированием
Старый 06.08.2019, 14:38   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Для начала надо знать задачу и код. Пока непонятно зачем вам еще один массив с указателями, меняется ли ваш исходный массив и т.д.
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Юмор 2017 Вадим Мошев Свободное общение 213 01.01.2018 22:09
Visual Studio 2017 NielsR Общие вопросы .NET 1 27.09.2017 08:11
установка vs 2017 ts-alan Общие вопросы .NET 13 21.04.2017 16:06
Масленица 2017 Pavia Свободное общение 7 25.02.2017 08:18
V-Ray 3.40 (3ds max 2017) mr_xxx Моделирование, изометрия, photoshop, 3d редакторы 1 28.10.2016 08:18