14/03/11 21:26
frank87
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
io faccio cosi ma da errore:
#include <map>
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
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.....
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
io faccio cosi ma da errore:
#include <map>
#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
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 15/03/11 15:01
aaa