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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
std::list<iMinen> _liste; // ... std::list<iMinen>::Iterator it; for (it = _liste.begin(); it != _liste.end(); it++) { it->XPos = 0; // der iterator ist sowas (ähnliches!) wie ein Pointer } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class CMine { public: int XPos; int YPos; }; list<CMine> lMinen; //Die List der Minen list<CMine>::iterator i; //und der Iterator ... ... for(i = lMinen.begin(); i != lMinen.end(); ++i) { ... hier sollen dann die Daten der Mine ausgewertet werden. d.h. es soll auf die Membevariablen X- und YPos zugegriffen werden. ... } |
C-/C++-Quelltext |
|
1 2 3 |
i->XPos // oder (*i).XPos |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 |
while (first != last) { iterator next = first; ++next; if (*first == value) erase(first); // <- In dieser Zeile first = next; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
std::list<CMine> Minen(5); std::list<CMine>::iterator it; for (it = Minen.begin(), int i=0; it != Minen.end(); it++, i++) { it->XPos = 2*i; it->YPos = i; } it = Minen.begin(); while (it != Minen.end()) { if (it->Xpos == 4) it = Minen.erase(it); it++; } |
C-/C++-Quelltext |
|
1 |
it->XPos = ... ; |
C-/C++-Quelltext |
|
1 |
for (it = Minen.begin(), int i=0; it != Minen.end(); it++, i++) |
C-/C++-Quelltext |
|
1 2 3 |
[C++ Error]list.h(676): Illegal structure operation. [C++ Error]list.h(690): Illegal structure operation. [C++ Error]list.h(707): Illegal structure operation. |
C-/C++-Quelltext |
|
1 |
[C++ Error]Pro1.cpp(157): Pointer to structure requires on left side of -> or ->*. |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
// Header #include <list> #include <iostream> // Klasse class CMine { public: int XPos; int YPos; }; int main() { // Liste von CMine mit 5 Elementen std::list<CMine> Minen(5); // Iterator std::list<CMine>::iterator it; // int zum füllen der XPos und YPos Werte int i=0; // for-Schleife (diesmal funktionsfähig for (it = Minen.begin(); it != Minen.end(); it++) { // XPos und YPos Werte zuweisen it->XPos = 2*i; it->YPos = i; // i erhöhen ;) i++; } // Iterator zurücksetzen it = Minen.begin(); // while-Schleife while (it != Minen.end()) { // das 3. Element der Liste wird gelöscht und it wird auf das nächste Element gesetzt if (it->XPos == 4) it = Minen.erase(it); // nur wenn XPos nicht 4 ist muss it manuell auf das nächste Element else it++; } // Standardinput leeren fflush(stdin); // darauf warten, dass der Benutzer Enter drückt std::wcin.get(); return 0; } |
Werbeanzeige