如zjfaok所说,map的参数是有条件的,平时的一些常用类型能够直接用<运算符比较,但是现在key是自定义类Good,所以你需要在类Good中重载<运算符,相当于告诉map你可以用我的这个比较方法来对键Good进行比较,在类Good中添加如下代码即可:
bool operator<(const Good& other) const{
return this->val<other.val
}
#include <map>#include <vector>
#include <string>
void f(std::vector<std::map<std::string, int> >& ss)
{
std::map<std::string, int> s
s.insert (std::make_pair("12", 3))
s.insert (std::make_pair("23", 4))
ss.push_back(s)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)