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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.93
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
#1

Двумерный массив векторов. Объявить и заполнить. - C++

22.12.2011, 15:40. Просмотров 1835. Ответов 3
Метки нет (Все метки)

как правильно объявлять и заполнять двумерный массив вектор в классах?

C++
1
2
3
4
5
6
7
8
9
10
11
12
struct Map
{
     Map()
     {
         vMap.resize(MAX_Y, vector<char>(MAX_X));
         for(int i=0; i<vMap.size(); ++i)
             vMap[i].push_back("OOOOOOOOOOOOOOOOOOOO");
     }
 
private:
     vector<vector<char>> vMap;
};
C++
1
2
error C2664: std::vector<_Ty>::push_back: невозможно преобразовать параметр 1 из 'const char [80]' в 'const char &'
Причина: невозможно преобразовать 'const char [80]' в 'const char'.
Добавлено через 2 часа 3 минуты
bump!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 15:40     Двумерный массив векторов. Объявить и заполнить.
Посмотрите здесь:
C++ Объявить и заполнить двумерный динамический массив случайными числами от 10 до 50 - исправить ошибки в коде
C++ Как объявить и инициализировать двумерный массив
C++ Как объявить двумерный динамический массив
C++ Почему нельзя так объявить двумерный массив?
Объявить массив из 20 элементов и заполнить его случайными значениями от -6 до 15 C++
C++ Объявить массив целых чисел и заполнить его случайными значениями
C++ Объявить массив целых чисел и заполнить его случайными значениями.
Объявить статический массив размерности 20. Заполнить его «случайным образом»... C++
C++ Объявить двумерный символьный массив, размеры которого берутся из переменных
C++ Объявить массив? Запросто! Объявить массив массивов? А как это?
Заполнить двумерный массив C++
C++ Заполнить двумерный массив

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
22.12.2011, 18:17     Двумерный массив векторов. Объявить и заполнить. #2
ты пытаешся в символ запихать строку.
Если тебе надо матрица строк, то обьяви std::vector< std::vector< std::string> > vMap;
Иначе измени vMap[i].push_back("OOOOOOOOOOOOOOOOOOOO"); на vMap[i].push_back('O');
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
22.12.2011, 20:36  [ТС]     Двумерный массив векторов. Объявить и заполнить. #3
Цитата Сообщение от Melkor Посмотреть сообщение
ты пытаешся в символ запихать строку.
Так и нужно! Не строка, а массив символов
C++
1
const char[max_y][max_x] = ...
в виде вектора
Melkor
30 / 30 / 1
Регистрация: 15.12.2011
Сообщений: 108
26.12.2011, 13:58     Двумерный массив векторов. Объявить и заполнить. #4
Цитата Сообщение от res Посмотреть сообщение
Так и нужно! Не строка, а массив символов
Код C++
1
const char[max_y][max_x] = ...
в виде вектора
тогда так:
C++
1
2
3
4
5
6
7
8
9
10
struct Map
{
     Map()
     {
         vMap.resize(MAX_Y, vector<char>(MAX_X, 'o'));
     }
 
private:
     vector<vector<char>> vMap;
};
Yandex
Объявления
26.12.2011, 13:58     Двумерный массив векторов. Объявить и заполнить.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru