VC++6.0でmap<string, char *> m;として
m["key1"] = "data1";
m["key2"] = "data2";
と代入したら

cout << m["key1"] << endl;
cout << m["key2"] << endl;

の結果がともにdata2になるんだがどうして???