C ++ _エッセイの学習_2次元ベクトルの初期化問題

今日の宿題を行うには、行列を入力する必要があります。サイズはユーザーが入力するため、2次元ベクトルを使用して達成する予定です。

次のように、トラバーサル入力から開始します

 

その結果、範囲外のベクトル添え字エラーが常に表示されます

 

csdnで理由を見つけます。

 

2次元配列とは異なり、arr [i] [j]はループ内で直接割り当てることができます。vector <vector <int >>では、vectorはコンテナーであるため、最も外側のベクターコンテナーにはより小さいベクターが含まれ、内側のベクターにはint番号が含まれます。したがって、最初に内部ベクトルコンテナーに値を割り当ててから、内部ベクトルを要素として外部ベクトルに挿入する必要があります。

コードを次の形式に変更すると、通常どおり実行できます

 

おすすめ

転載: www.cnblogs.com/reluctante1/p/12695406.html