【发布时间】:2016-01-02 20:11:53
【问题描述】:
我有一个map<int,string> 可以为每个id 添加name。
我有办法做到这一点。
void User::add(int id, string name) {
map<int, string>::iterator it = map.find(id);
if (it == map.end()) {
map.insert(pair<int, string>(id, name));
} else {
it->second = name;
}
}
它工作得非常好。但我想学习如何使用运算符 [] 将字符串添加到地图中。下面是我的代码:
void user::add(int id, string name) {
&auto findUser = map[id];//check if an user exists
findUser.push_back(string()); // add a new string object
findUser.push_back(name); // put string into the map
}
当我运行这段代码时,它给了我一个错误:从'string'没有可行的转换
【问题讨论】:
-
为了便于阅读,建议不要使用名为 map 的地图。
标签: c++ string dictionary operators add