0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
1 | |
Возможно ли вложение контейнера array в контейнер vector?14.07.2015, 15:00. Показов 1709. Ответов 29
Метки нет (Все метки)
мне надо в динамическом массиве хранить 3-х мерные координаты треугольников.
пытаюсь сделать вот так: vector<array<float,9> > coordinates; данная комбинация не работает. как можно создать динамический массив на 9 чисел? как можно обращаться к отдельным координатам - x1,y1,z1 и т.д и как записывать значения в такой массив?
0
|
14.07.2015, 15:00 | |
Ответы с готовыми решениями:
29
Заменить контейнер vector, использовавшийся для хранения текстовых строк (листинг 2.3), на контейнер list Заполнение контейнера vector Очистка контейнера vector Вывод типа элемента контейнера из итератора на контейнер |
82 / 1 / 0
Регистрация: 08.10.2012
Сообщений: 54
|
|
14.07.2015, 15:03 | 2 |
vector<vector<float>> ?
или struct MyStruct{ int x1; ... int z3; } vector<MyStruct>
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|||||||||||
14.07.2015, 15:04 | 3 | ||||||||||
Например, так:
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:04 [ТС] | 4 |
то есть array в vector нельзя вложить?
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
14.07.2015, 15:06 | 6 |
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:07 [ТС] | 7 |
если данная комбинация работает. как я с помощью coordinates.push_back(???); могу записывать значения? что я должен поставить вместо восклицательных знаков?
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
||||||
14.07.2015, 15:07 | 8 | |||||
Она работает.
Может стоит ошибку сюда привести?
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:08 [ТС] | 9 |
а std::array в std::vector можно?
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
||||||
14.07.2015, 15:09 | 10 | |||||
Например так:
1
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:16 [ТС] | 11 |
visual c выдает ошибку...не компилируется
Добавлено через 3 минуты кто-нибудь знает ответ?
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
14.07.2015, 15:17 | 12 |
Это С++11. Версия VS какая? В VS2013 этот код точно работает, возможно в более ранних версиях еще не было поддержкий этой возможности С++11
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:18 [ТС] | 14 |
у меня VS 2013
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
14.07.2015, 15:18 | 15 |
Правильный ответ такой: Если хочешь, чтобы это работало - обновляй VS или используй компилятор с более полной поддержкой 11 стандарта С++ (clang или gcc (mingw)).
На rextester.com есть возможность онлайн скомпилировать программу компилятором из VS2013. Этот код работает: http://rextester.com/QTM71215
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
14.07.2015, 15:19 | 16 |
Используй tuple, он точно компилируется, или структуру с древним массивом.
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
||||||
14.07.2015, 15:27 [ТС] | 18 | |||||
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
14.07.2015, 15:31 | 19 |
0
|
0 / 0 / 0
Регистрация: 14.07.2015
Сообщений: 30
|
|
14.07.2015, 15:33 [ТС] | 20 |
3 IntelliSense: no instance of overloaded function "std::vector<_Ty, _Alloc>:ush_back [with _Ty=std::array<float, 9U>, _Alloc=std::allocator<std::array<float, 9U>>]" matches the argument list
argument types are: ({...}) object type is: std::vector<std::array<float, 9U>, std::allocator<std::array<float, 9U>>> d:\Boulder\Win32Project1\Win32Project1\main.cpp
0
|
14.07.2015, 15:33 | |
14.07.2015, 15:33 | |
Помогаю со студенческими работами здесь
20
Контейнер отображающейся после абсолютно позиционированного контейнера Ошибка использования контейнера array контейнер vector Обработка STL контейнера vector Передача контейнера vector в функцию Создать матрицу из контейнера std::array Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |