zdravim
mam taky problem ze ked mam
class x{
int a;
string b;
}
napriklad a chcem urobit napr list cize list<x*> L; a chcel by som vypisovat ten string b tak to vypisem takto
for (x* c : L.front()->b ) { ....}
lenze tento zapis funguje iba v novom visualku a ja by som potreboval vediet ako to spravit tak aby som to rozbehal aj na starsich verziach , skusal som cez iterator akurat ze ked si spravim iterator
list<x*>::iterator it=L.begin() tak neviem ako sa cez to "it" dostanem k tomu stringu ktory obsahuje lebo it->b mi nefunguje
c++ vypis kontainera
Re: c++ vypis kontainera
Ten zápis cyklu je z C++11, rozbeháš to aj na iných prekladačoch, len treba zapnúť podporu pre c++11.
(i keď sa mi ten zápis zdá aj tak nejaký divný, ale dnes už sa mi nechce rozmýšľať)
Inak cez iterátory takto http://www.cplusplus.com/reference/iterator/begin/
V tvojom prípade
Plus, neviem ako ti to môže ísť, keď v triede je ako default obmedzenie private, takže priamo k tým prvkom nepristúpiš. Ale predpokladám, že to je len omyl pri zjednodušení skutočného zadania.
(i keď sa mi ten zápis zdá aj tak nejaký divný, ale dnes už sa mi nechce rozmýšľať)
Inak cez iterátory takto http://www.cplusplus.com/reference/iterator/begin/
V tvojom prípade
Kód: Vybrať všetko
(*it)->bRe: c++ vypis kontainera
to som dal iba ako priklad aby som vysletlil problem , hej ma tam byt public
a dakujem vemi
cely problem bol v tom ze som daval *it a nie (*it)
, este raz dakujem
a dakujem vemi