Sorry if I'm getting anoying, I can't std::map to work right.
Heres my code:

std::map<std::string,std::string> m_map;
...
m_map[key] = value;
...
std::string value(m_map[key]);

The last line generates the error:
error C2678: binary '[' : no operator defined which takes a left-hand operand of type 'const class std::map<class std::basic_string<char,struct std::char_traits<ch...

From what I remember, and see on the internet this is how map is supposed to work.. so why doesn't it? I have tried everything (except looping through ) to get my values back from map.