Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

21

03.01.2010, 18:43

Zitat von »"Genro"«

VSAsteroid.erase (VSAsteroid.begin()+5);
Genau deswegen meinte ich das mit den Iteratoren. Dann hast du

C-/C++-Quelltext

1
VSAsteroid.erase(Iter);
und kannst über Dereferenzierungsoperatoren * und -> zugreifen. Ich würde schon schauen, dass sinnvoll gelöscht wird und nicht irgend ein willkürliches Element (allein schon, falls der Container einmal weniger als 6 Elemente haben sollte...).

22

03.01.2010, 18:50

Ja, da muss ich mich Nexus anschließen. Ich hatte es anfangs auch versucht, so wie Du zu machen, aber das hat nie wirklich funktioniert.
Beispiel:
Es funktionierte alles richtig, gelöscht wurden damit die Schüsse, falls sie außerhalb des Bildschirms fliegen sollten. Wenn jedoch der letzte Schuss an das Ende des Bildschirms gelangte, stürzte das Programm ab, weil ein Element, welches gar nicht vorhanden war, gelöscht werden sollte.
Ich hab' da einige Stunden verbracht, bis ich Iteratoren eingesetzt habe, damit funktioniert es viel besser.