首頁 > 後端開發 > C++ > 將使用者輸入讀取到表示 2D 矩陣的向量向量時,為什麼會出現「下標超出範圍」錯誤?

將使用者輸入讀取到表示 2D 矩陣的向量向量時,為什麼會出現「下標超出範圍」錯誤?

Mary-Kate Olsen
發布: 2024-11-03 01:21:02
原創
1072 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板