Bonjour,
Je cherche à ranger une pair de valeur pair <double , cv::Point2d>, présent dans un vecteur:
vector<pair<double,Point2d> > vCs;
Je remplis donc dans un premier temps le vecteur de pair et j'essaye de trier:
sort(vCs.begin(), vCs.end());
J'ai créé auparavant la fonction de comparaison des pair:
1 2 3 4
| inline bool operator<(const pair<double,cv::Point2d> &A, const pair<double,cv::Point2d> &B)
{
return A.first < B.first;
} |
Mais le compilateur me renvoie une erreur:
/usr/include/c++/4.6/bits/stl_pair.h:209:62: error: no match for 'operator<' in '__x.std::pair<double, cv::Point_<double> >::second < __y.std::pair<double, cv::Point_<double> >::second'
Pourtant j'ai bien définie ma fonction de comparaison operator<...
Quelle serait la raison de cette erreur?
Si quelqu'un pouvait m'aider. D'avance merci.
Partager