J'essaye de prendre une paire std :: et de la mapper à une chaîne std :: en utilisant une carte std :: map. La façon dont cela fonctionne étant donné une paire composée d'un char et d'une chaîne, le mapper à une chaîne particulière.Comment mapper une chaîne et une paire de caractères à une chaîne à l'aide d'une commande std :: map?
Cette configuration donc fonctionne bien très bien (compilateur accepte):
std::map<std::pair<char, std::string>, std::string> mymap;
std::map<std::pair<char, std::string>, std::string>::iterator it;
Mais quand j'essaie de le faire:
mymap['a', "Q1"] = "Q4";
mymap['b', "Q2"] = "Q3";
mymap['c', "Q3"] = "Q2";
mymap['d', "Q4"] = "Q1";
il revient comme cette erreur que je ne comprends pas :
Error 1 error C2679: binary '[' : no operator found which takes a right-hand operand of type 'const char [3]' (or there is no acceptable conversion)
qui est l'erreur associée sous la parenthèse gauche de chacune uiggly apparaît)
quelqu'un peut-il m'aider à comprendre ce que je fais mal?
Faites comme mymap [{'a', "Q1"}] = "Q4"; – user1438832