Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit Iteratoren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.10.2008, 10:21 Uhr
~Iterator
Gast


Hallo,

folgender Code ist syntaktisch korrekt, aber funktioniert nicht wie erwartet:


Code:
unsigned short                testWert;
std::list<unsigned short> getList();

std::list<unsigned short>::iterator itStart(*p_Spielfeld.getFeld(k,j).getList().begin());
std::list<unsigned short>::iterator itEnd(p_Spielfeld.getFeld(k,j).getList().end());
////////////////////////
testWert = *(itStart); // hier kommt Murks raus
testWert = *(p_Spielfeld.getFeld(k,j).getList().begin()); // hier kommt 1 raus
////////////////////////



Hat jemand eine Idee, warum *itStrat nicht 1 ist?

Grüße,
Ralph
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.10.2008, 12:47 Uhr
0xdeadbeef
Gott
(Operator)



C++:
std::list<unsigned short>::iterator itStart(*p_Spielfeld.getFeld(k,j).getList().begin());


initialisiert itStart mit dem Inhalt des Iterators, nicht dem Iterator selbst. Warum das kompiliert, ist mir allerdings schleierhaft.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.10.2008, 13:18 Uhr
~Iterator
Gast


Arrrrrg.....da habe ich doch tatsächlich einen Fehler gemacht.....so habe ich das nicht kompiliert. Der * gehört da nicht hin.

* bitte wegdenken.....ändert aber am Problem nichts
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.10.2008, 16:34 Uhr
0xdeadbeef
Gott
(Operator)


Ist es

C++:
std::list<unsigned short> getList();


oder

C++:
std::list<unsigned short> &getList();


? In ersterem Fall wird ja eine Kopie zurückgegeben, und als temporäres Objekt sofort wieder zerstört.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
30.10.2008, 16:53 Uhr
~Iterator
Gast


Mein Gott....das wars...3 Jahre kein C++ und schon rostet alles ein.

Danke vielmals
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: