【发布时间】:2014-03-10 08:53:17
【问题描述】:
我有一个带字符串键的地图,第二个属性应该是向量。
声明:
map <string, vector<string> > Subjects;
然后当我想用它来添加值时。
Subjects[s] = new vector<string>;
Subjects[s].push_back(n);
s 和 n 是字符串。我只在第一行出错。它说error: no match for ‘operator=’ (operand types are ‘std::map<std::basic_string<char>, std::vector<std::basic_string<char> > >::mapped_type {aka std::vector<std::basic_string<char> >}’ and ‘std::vector<std::basic_string<char> >*’)。我试图将矢量指针指向地图,但没有帮助。
【问题讨论】:
-
您的值类型不是指针,因此
new vector<string>是多余的,操作Subjects[s]将已经正确构造向量 - 如果它不存在于键s。