Peter_2498
Lieutenant
- Registriert
- Apr. 2018
- Beiträge
- 603
Ich habe hier einen Error, wo ich nicht verstehe woher der kommt. Den ganzen Code kann ich hier nicht posten aber ich vermute, den Error auf eine ganz bestimmte Zeile zurückgeführt zu haben und wollte mal nachfragen, ob vielleicht jemand auch nur einen Hinweis hat, woher der Error kommt.
Wenn ich den Algorithmus laufen lasse, dann kriege ich als Ausgabe bevor der Error passiert noch "4, 1" aber kein "B". Wenn ich das richtig deute, dann kann doch in dieser Zeile kein Error passieren. qDebug() ist eine Funktion aus Qt, die wird wohl nicht Ursache des Problems sein, da das gleiche auch mit std::cout passiert.
Hab die Frage auch zeitlich auf Stack Overflow gestellt und dort meinte jemand ich solle 2*pos - counter in eine Klammer schreiben und tada der Fehler ist weg. Kann mir das jemand erklären? Niemals wäre ich drauf gekommen, dass das das Problem war.
C++:
qDebug() << Pun.size() << ", " << 2*pos - counter;
Pun.erase(Pun.begin() + 2*pos - counter); //der error scheint hier zu passieren
qDebug() << "B";
Pun.erase(Pun.begin() + 2*pos - counter);
counter += 2;
Wenn ich den Algorithmus laufen lasse, dann kriege ich als Ausgabe bevor der Error passiert noch "4, 1" aber kein "B". Wenn ich das richtig deute, dann kann doch in dieser Zeile kein Error passieren. qDebug() ist eine Funktion aus Qt, die wird wohl nicht Ursache des Problems sein, da das gleiche auch mit std::cout passiert.
Ergänzung ()
Hab die Frage auch zeitlich auf Stack Overflow gestellt und dort meinte jemand ich solle 2*pos - counter in eine Klammer schreiben und tada der Fehler ist weg. Kann mir das jemand erklären? Niemals wäre ich drauf gekommen, dass das das Problem war.
Zuletzt bearbeitet: