問題:
使用向量表示二維矩陣取用戶輸入並將其附加到矩陣時。下面的程式碼會觸發「下標超出範圍」錯誤。
<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中文網其他相關文章!