#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
//定义排序规则
bool comp(Point a, Point b)
{
return a.x>b.x;
}
int main()
{
vector<Point> p;
p.push_back(Point(1, 2));
p.push_back(Point(3, 4));
p.push_back(Point(0, 0));
sort(p.begin(), p.end(), comp);
for(int i=0; i<p.size(); i++)
{
cout<<p[i]<<endl;
}
system("pause");
return 0;
}
输出结果:
补充:
comp函数作为成员函数时,需要申明为静态函数,否则会有如下问题:
此外comp的函数名不能为compare,可能会存在问题,这个还未验证,怀疑是库函数中存在compare。如果声明为compare,以如下方式调用:
std::sort(hair_info.begin(),hair_info.end(), this->compare);
static bool comp(HairInfo info1, HairInfo info2);