首页 >后端开发 >C++ >将用户输入读取到表示 2D 矩阵的向量向量时,为什么会出现'下标超出范围”错误?

将用户输入读取到表示 2D 矩阵的向量向量时,为什么会出现'下标超出范围”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-03 01:21:021065浏览

Why am I getting a

向量的向量表示矩阵

问题:

使用向量表示二维矩阵时,出现错误当尝试读取用户输入并将其附加到矩阵时。下面的代码会触发“下标超出范围”错误。

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn