これがコンパイルされない理由がわかりません:
#include <map>
#include <string>
std::map<std::string, std::string> m;
m["jkl"] = "asdf";
Line 5: error: expected constructor, destructor, or type conversion before '=' token
compilation terminated due to -Wfatal-errors.
ここで単純なものが欠けているに違いないと誓います。