У меня есть код, который я написал, используя 2d-вектор вместо 2d-массива, однако, когда я запускаю его, все, что он говорит, это «векторный индекс вне диапазона», , любая помощь приветствуется.C++ Debug Assertion Failed Vector Subscript за пределами допустимого диапазона
#include <iostream>
#include <vector>
using namespace std;
int mapx, mapy = 5;
vector<vector<int>> map(mapx, vector<int> (mapy, 0));
int i, x;
int main(){
for (i = 0; i < map.size(); i++){
for (x = 0; x < map[i].size(); x++)
{
map[i][x] = i + x;
}
}
cout << map[0][0];
cin >> i;
return 0;
}
'INT mapx' не инициализирован. Похоже, что это исправление: http://coliru.stacked-crooked.com/a/084aea611a4975d0 –
ОК, что последний комментарий заставил меня понять мою ошибку, и теперь она работает, спасибо. – andrew