probleme mit list
-
horidooo
ich habe ein problem mit einer liste. es ist mir nicht möglich, daten wieder aus der liste raus zu holen
zusätzlich will er meine absicht (
cout<<iT.get_name()<<endl;
) nicht annehmen
using namespace std; class test { private: string name, age; public: string get_name(){return name;}; string get_age(){return age;}; void set_name(string s){name = s;}; void set_age(string s){age = s;}; }; int main() { test t; list<test>T; list<test>::iterator iT; t.set_name("max"); T.push_back(t); t.set_name("anton"); T.push_back(t); for(iT = T.begin(); iT != T.end(); ++iT) { t = iT; cout<<iT.get_name()<<endl; } system("pause"); return 0; }
kann mir jemand sagen, wo mein denkfehler ist?
-
du brauchst keinen IT zu machen beim einfügen
push_back ( fügt hinten automatisch ein )
inhalt ausgeben
du musst den IT hochzählen
cout << bla bla
meiniterator++;z.b.
list<int>::iterator p = bla.begin();
while( p != bla.end() )
{
// hui mach was
p++;
}
-
cout<<iT->get_name()<<endl;
-
tüddel schrieb:
zusätzlich will er meine absicht (
cout<<iT.get_name()<<endl;
) nicht annehmen
Ein Iterator ist ein "verallgemeinerter" Zeiger:
iT->get_name()
-
@newkid_
hmm ok, der compiler schluckt es jetzt, aber ich bekomme jetzt 2 mal den selben (letzten) eintrag
-
danke MFK jetzt geht es