C++ Visual Studio считает, что объявление vector является прототипом функции
Хотел добавить в созданный класс двумерный vector:
std::vector<std::vector<char>> room((currentRoomLength), std::vector<char>(currentRoomWidth));
Но сразу появляется куча ошибок сообщающих о том, что я неправильно объявил "функцию". Что я делаю не так?
Ответы (1 шт):
Автор решения: KoVadim
→ Ссылка
Известная "особенность с++". https://en.wikipedia.org/wiki/Most_vexing_parse
"если что то выглядит как объявление функции, то это и есть объявление функции".
Если Вы пишите на с++11 и старше (а это нормально в наши дни, тем более Вы написали две угловые скобки подряд!), используйте чуточку фигурных скобок
std::vector<std::vector<char>> room{(currentRoomLength), std::vector<char>(currentRoomWidth)};
либо можно добавить лишние круглые скобки
std::vector<std::vector<char>> room(((currentRoomLength), std::vector<char>(currentRoomWidth)));