问题:
使用向量表示二维矩阵时,出现错误当尝试读取用户输入并将其附加到矩阵时。下面的代码会触发“下标超出范围”错误。
<code class="cpp">vector<vector<int>> matrix; for (int i = 0; i < RR; i++) { for (int j = 0; j < CC; j++) { cout << "Enter the number for Matrix 1"; cin >> matrix[i][j]; } }</code>
答案:
发生错误是因为向量的向量尚未用适当的方法初始化访问其元素之前的大小。要解决此问题,请按如下方式初始化矩阵:
<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>
此代码创建一个由 RR 行和 CC 列组成的矩阵,其中每个单元格都初始化为 0。现在,代码可以访问和操作该矩阵,而无需遇到“下标超出范围”错误。
以上是将用户输入读取到表示 2D 矩阵的向量向量时,为什么会出现“下标超出范围”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!