質問:
ベクトルを使用して 2D 行列を表現すると、エラーが発生しますユーザー入力を読み取り、それをマトリックスに追加しようとするとき。以下のコードは、「添え字が範囲外です」エラーを引き起こします。
<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 中国語 Web サイトの他の関連記事を参照してください。