[C++] Mehrdimensionale Maps

Kampfgnom

Lt. Commander
Registriert
Jan. 2005
Beiträge
1.075
Hallo

Ich habe in einem meiner Programme ein paar Maps, mit strings als keys und ints als values.
Die Keys sind dabei deutsche Wörter.
Code:
map<string, int> gebaeude;
...
gebaeude["Haus"]=1;
Nun möchte ich das ganze Mehrsprachig machen und deswegen eine mehrdimensionale Map erstellen, die als ersten Key die Sprache hat.
Code:
gebaeude["de"]["Haus"]=1;
gebaeude["en"]["building"]=1;
Ich habe das ganze Versucht mit
Code:
map<string, map<string, int>>
Was aber wohl total falsch ist.
Auch habe ich im Internet gefunden dass das ganze über structs zu lösen sein könnte. Hab das aber nicht syntaktisch richtig hinbekommen.

Danke schonmal
 
Lösung ist trivial: :)

Code:
std::map<std::string, std::map<std::string, int> >

Man beachte das Leerzeichen zwischen > >. Ansonsten versteht der Compiler das als den >>-Operator, der dort natürlich keinen Sinn macht. Also sofern du Templates verschachtelst, grundsätzlich Folgen von > durch Spaces trennen.
 
ach verdammt :(
Solche Fehler hasse ich...

Danke :)
 
Uff naja, das ist wirklich eine gemeine Sache, wenn man's noch nicht kennt :) Also net entmutigen lassen ;) Und bevor du verzweifelst, frag hier nach ^^
 
Zurück
Oben