Die Elemente eines Elements in einem Vector ??[GELÖST]



  • [code="cpp"]
    OK,stimmt, die fehlermeldung ist jetzt weg, aber ich weiß nicht was du mit dem zuviel für den index meinst, was soll ich stattdessen den hinschreiben weil so der Loop einfach nie endet



  • Leon285 schrieb:

    OK,stimmt, die fehlermeldung ist jetzt weg, aber ich weiß nicht was du mit dem zuviel für den index meinst, was soll ich stattdessen den hinschreiben weil so der Loop einfach nie endet

    Angenommen dein vector hat 5 Elemente. Dann ist size() ==> 5. Die Indizierung Beginnt immer bei 0. Bei 5 Elementen also von 0 bis 4. 5 ist eins größer als 4. also ist size() um eins zu groß.

    for (int i = 0; i != lvlContent.size(); i++){
    for (int j = 0; j != lvlContent[i].size(); j++){
    

    so zum Beispiel.



  • Gerade wenn ich das so mache, wie ich schon gesagt habe verschwindet die fehlermeldung, aber der loop ist unendlich.
    und lvlContent.size() har definitiv einen wert da ich es mit:

    int lvlContentSize = lvlContent.size();

    cout << lvlContent.size() << endl;
    cout << lvlContentSize << endl;

    ausprobiert habe



  • Leon285 schrieb:

    Gerade wenn ich das so mache, wie ich schon gesagt habe verschwindet die fehlermeldung, aber der loop ist unendlich.

    Du darfst die Laufvariablen im Schleifenrumpf nicht grobfahrlässig ändern. Wer weiß was _Y _X für Werte hat?



  • die waren/sind 0, wo ist das problem dabei?



  • Leon285 schrieb:

    die waren/sind 0, wo ist das problem dabei?

    Genau das ist das Problem. Dann läuft die Schleife eventuell unendlich lange, oder du bekommst mal wieder eine out of range exception.



  • ok, Wie würdest du dann vorschlagen wie ich die werte am besten returne?



  • Leon285 schrieb:

    ok, Wie würdest du dann vorschlagen wie ich die werte am besten returne?

    Ich weiß nicht was dein Programm da machen soll, ich verstehe die Zuweisungen an i und j in der if nicht. Musst du mir erklären.



  • Ich loope durch das spielfeld lvlContent mit den loops i und j um die Position von dem spieler zu bekommen, halt die x und y achse von dem vector, der vector besteht aus strings und die buchstaben der string stellen die symbole auf der x achse dar.
    und wie gesagt will ich mit den loops die position, also x und y coordinate die ich dann in die beiden punkte speicher und weiter verwenden kann um den spieler später zu bewegen



  • Das mit dem _X und _Y hat sich erledigt, vielen dank



  • }


Anmelden zum Antworten