У меня есть простая структура Rectangle с x, y, width и height, которая, как я думал, будет легко работать с векторами, но она оказалась довольно грязной.
Это то, что у меня есть вmain:
vector<CvRect> v;
v.push_back(cvRect(50,0,50, 50));
v.push_back(cvRect(150, 0, 50,50));
v.push_back(cvRect(100, 0, 50,50));
sort(v.begin(), v.end(), rectangleCmpByPosition);
Я объявил это в своем заголовке
static int rectangleCmpByPosition(const CvRect &a, const CvRect &b);
с таким определением:
static int rectangleCmpByPosition(const CvRect& a, const CvRect &b){
if (a.y != b.y){
return a.y - b.y;
}else{
return a.x - b.x;
}
}
И Visual Studio выдает мне это сообщение об ошибке.
Я потратил весь день на поиски в Google, чтобы увидеть, что я сделал неправильно, но не могу найти причину.Пожалуйста, помогите.