私はstd :: pairを使って、std :: mapを使ってstd :: stringにマップしようとしています。 charとstringからなるペアが与えられて動作する方法は、それを特定の文字列にマップします。std :: mapを使用して文字列と文字ペアを文字列にマップする方法は?
このセットアップは、これまで(コンパイラがそれを受け入れる)だけで正常に動作:
std::map<std::pair<char, std::string>, std::string> mymap;
std::map<std::pair<char, std::string>, std::string>::iterator it;
をしかし、私はこれを実行しようとすると:
mymap['a', "Q1"] = "Q4";
mymap['b', "Q2"] = "Q3";
mymap['c', "Q3"] = "Q2";
mymap['d', "Q4"] = "Q1";
それは私が理解していないこのエラーとして返ってきます:
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)
これは、4行のコードのそれぞれの左括弧の下に関連付けられたエラーです(赤いsqうずまきが表示されます)
誰かが私が間違っていることを理解するのに役立つことができますか?
mymap [{'a、 "Q1"}] = "Q4"が好きですか? – user1438832