Это, наверное, очень простой вопрос, однако он преследует меня. Я могу получить данные в контейнере, но я не могу потом распечатать его на консоли.Почему «std :: cout << myVector [x] [x] << std :: endl» создает ошибку индексации?
Следующая производит подстрочный из ошибки отладки диапазона
Вот мой код
std::vector<std::vector<int>> myVector;
for (int x = 0; x != 18; x++)
{
myVector.push_back(std::vector<int>(x,x));
std::cout << myVector[x][x] << std::endl;
}
Большое спасибо!
Индексы в C++ с нуля. Вы помещаете элементы 'x' в вектор, но вы пытаетесь получить доступ к элементу' x + 1'st. –
Другими словами, это говорит вам, что это вне диапазона, потому что это (ошибки полезны!). Я также добавлю, что большинство популярных языков программирования имеют индексы на основе 0. – keyser