【发布时间】:2013-11-05 17:43:22
【问题描述】:
typedef pair<int,int>ii;
vector<ii>vii;
sort(vii.begin(),vii.end(),comp);
ii comp(ii a,ii b){
if(a.first>b.first)
return a;
else if(a.first==b.first){
if(a.second>b.second)
return a;
else
return b;
}
else{
return b;
}
}
//这样会抛出编译错误。你能指导如何根据比较函数中给出的条件对这个向量进行排序吗?
【问题讨论】:
-
您需要更详细地描述您遇到的错误,最好包含SSCCE。
-
通常,比较函数返回一个布尔值,表明两个传递的值之间存在特定关系。它们通常不会返回传入的值之一(您所拥有的看起来更像是
max()函数的近似值,而不是比较器)。