Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ciao,
volevo sapere se qualcuno sa come accedere a una map interna ad un altra map.
In pratica ho una struttura tipo:
map<int, map<int,string> > Mappa;
Se dichiaro un iteratore tipo:
map<int, map<int,string> > ::iterator it;
riesco a visualizzare l'elemento int della mappa piu esterna,ma non riesco a visualizzare gli elementi della mappa piu interna.
Come posso fare???
grazie in anticipo
int main()
{
map< int ,map<int,string> > m;
map<int,string> d;
d[1]="ciao";
d[2]="sono";
d[4]="io";
m[1]=d;
map< int ,map<int,string> > ::iterator it;
map<int,string>::iterator ciao;
it=m.begin();
ciao=it->second->begin(); //MI DA ERRORE QUI
return 0;
}
L'errore che mi mostra eclipse é:
../src/francesco.cpp:30: error: base operand of ‘->’ has non-pointer type ‘std::map<int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<int>, std::allocator<std::pair<const int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >’
make: *** [src/francesco.o] Errore 1
Non riesco a capire bene dove sbaglio.....
Ultima modifica effettuata da frank87 il 15/03/2011 alle 16:01
Il compilatore ti avrà certamente detto per filo e per segno tutto quello che serve per correggere l'errore, quindi riporta esattamente l'output del compilatore, altrimenti non andiamo da nessuna parte!
ho aggiunto l'errore che mi restituisce il compilatore,ma non capisco cosa corregere - frank87 - 15/03/11 16:02
invece di it->second->begin() metti it->second.begin().... la prossima volta comunque cerca di sforzarti a comprendere i messaggi del compilatore ;) - TheKaneB - 16/03/11 13:58