Heim >Backend-Entwicklung >C++ >Warum erhalte ich die Fehlermeldung „Index außerhalb des gültigen Bereichs', wenn ich Benutzereingaben in einen Vektor von Vektoren lese, die eine 2D-Matrix darstellen?
Frage:
Bei der Verwendung von Vektoren zur Darstellung einer 2D-Matrix tritt ein Fehler auf beim Versuch, Benutzereingaben zu lesen und an die Matrix anzuhängen. Der folgende Code löst einen Fehler „Index außerhalb des Bereichs“ aus.
<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>
Antwort:
Der Fehler tritt auf, weil der Vektor der Vektoren nicht entsprechend initialisiert wurde Größen, bevor auf die Elemente zugegriffen wird. Um dieses Problem zu lösen, initialisieren Sie die Matrix wie folgt:
<code class="cpp">vector<vector<int>> matrix(RR, vector<int>(CC));</code>
Dieser Code erstellt eine Matrix aus RR-Zeilen und CC-Spalten, wobei jede Zelle auf 0 initialisiert wird. Jetzt kann der Code ohne Zugriff auf die Matrix zugreifen und diese bearbeiten Es tritt der Fehler „Index außerhalb des gültigen Bereichs“ auf.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Index außerhalb des gültigen Bereichs', wenn ich Benutzereingaben in einen Vektor von Vektoren lese, die eine 2D-Matrix darstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!