Bonjour,
J'ai créé un map avec comme clé un const char*.
Si, dans l'argument du find, je mets cle1, l'élément est trouvé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 std::map<const char*, int> pouet; map["foo1"] = 1; map["foo2"] = 2; const char* cle1 = "foo1"; std::string cle2 = "foo2"; std::map<const char*, int>::const_iterator iterator1(pouet.find(cle)), iterator2(pouet.end()); if (mit != end) cout << "Clé trouvée." << endl;
Si je mets cle2.c_str(), l'élément n'est pas trouvé.
Pourquoi ? Parce qu'on compare dans le map des pointeurs ?
Merci.
Partager