Dies ist ein Segment meines Codes und der einzige aktive Teil davon, da der Rest auskommentiert ist, und ich versuche einen Vektor von Stapeln zu erstellen, der Platten 10 hoch stapelt und dann einen neuen Stapel erstellt. Es ist mein erstes Mal mit Stacks wirklich arbeiten, also weiß ich nicht, ob ich den Vektor richtig oder was auch immer ..Warum bekomme ich den Vektor-Index außerhalb des Bereichs?
Aber noch wichtiger, wenn ich versuche, ein Element auf den Stapel über die for-Schleife zu schieben, bekomme ich einen Fehler: Vektor Subscript außerhalb des Bereichs Linie: 1234 und ich bin mir nicht sicher, wie ich auf den Stapel drücken sollte oder ob es eine Möglichkeit gibt, trains.push_back() zu verwenden. (Jedes Mal, wenn ich push_back versuche, erhalte ich einen Fehler).
#include <stack>
#include <iostream>
using namespace std;
int main()
{
vector<stack<int>> plates;
int numPlates,plateColor;
int x = 0;
cout << "Enter number of Plates" << endl;
cin >> numPlates;
for (int i = 0; i < numPlates; i++) {
if ((x + 1) % 10 == 0) // once plates are stacked ten high, start new stack
x++;
cin >> plateColor;
plates[x].push(plateColor);
}
Sie zeigen nicht, wo „Züge“ definiert ist . Bitte poste ein [mcve]. – OldProgrammer
sollte es Platten sein .. Ich habe es behoben – alwaysLearning
Ihr Vektor ist leer. Sie müssen einige Elemente einfügen, bevor Sie 'plates [x]' verwenden können. – Galik