【发布时间】:2015-02-12 11:32:00
【问题描述】:
这可能是一个非常简单的问题,但它困扰着我。 我可以将数据放入容器中,但似乎无法将其打印到控制台。
以下会产生下标超出范围的调试错误
这是我的代码
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+1st 元素。 -
换句话说,它告诉你它超出了范围,因为它是(错误很有用!)。我还要补充一点,大多数流行的编程语言都有从 0 开始的索引。