Iterator auf 2 dimensionalen vector
-
Hi,
ich bin grade am überlegen, wie man einen Iterator auf einen zweidimensionalen Vector anlegt und vor allem, wie man ihn richtig verwendet, ich hab nämlich folgendes Problem. Ich lege eine dynamische Map an und möchte dann erstmal alle Werte ausgeben lassen:vector<vector<int> > vMap(x, vector<int>(y)); for(int i = 0; i < x; i++) { vMap.push_back(vector<int>()); for(int j = 0; j < y; j++) { vMap[i].push_back(0); } } for(int i = 0; i < x; i++) { for(int j = 0; j < y; j++) { cout << x << ":" << y << " - " << vMap[x][y] << endl; } }Das Programm stürzt allerdings ab, wenn ich so in der zweiten for-Schleife die Werte ausgeben lassen möchte. Also brauche ich wohl den Iterator, allerdings will mir nicht ganz klar werden, wie dass dann bei einem 2D-vektor funktioniert.
x und y werden übrigens vom Benutzer eingegeben.
-
Doch, das funktioniert grundstäzlich ebenfalls über den []-operator. Schau allerdings mal genau hin, was du da für Indizes einsetzt..
-
Ah!

Ok, danke für den subtilen Hinweis^^
Kann geclosed werden

-
Doch noch eine Frage:
Ich hab jetzt folgende Schleife:list<CUnit>::iterator iD; for(iD = lDeffer->begin(); iD != lDeffer->end(); iD++) { for(int j = 0; j <= y; j++) { for(int i = 0; i <= x; i++) { vField[i][j] = iD->id; iD->x = i; iD->y = j; } } }Der Vektor ist int und iD->id ebenfalls.
Wenn ich das jetzt aber ausführen möchte kommt folgende Fehlermeldung:error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'int' akzeptiert (oder keine geeignete Konvertierung möglich) 1> c:\programme\microsoft visual studio 9.0\vc\include\vector(562): kann 'std::vector<_Ty> &std::vector<_Ty>::operator =(const std::vector<_Ty> &)' sein 1> with 1> [ 1> _Ty=int 1> ] 1> bei Anpassung der Argumentliste '(std::vector<_Ty>, int)' 1> with 1> [ 1> _Ty=int 1> ]Aber irgendwie werd ich da überhaupt nicht schlau draus, wieso soll ich einer int variable keinen int wert zuweisen können?
-
Kann es sein das du die for-Schleifen verwechselst und hat deine Klasse die Member x und y ? Zeig mal bisschen mehr Code bitte.