J'ai une structure Rectangle simple avec x, y, largeur et hauteur, que je pensais être facile à travailler avec des vecteurs, mais il a tourné dehors pour être assez malpropre.Trier un vecteur de struct provoque Visual Studio à lancer un popup avec "Échec de l'assertion de débogage"
C'est ce que j'ai dans le principal:
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);
Je cette déclaration dans ma tête
static int rectangleCmpByPosition(const CvRect &a, const CvRect &b);
avec ce que la définition:
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;
}
}
studio
et visuel jette cette message d'erreur chez moi .
J'ai passé toute l'après-midi à googler pour voir ce que j'ai fait de mal mais je ne peux pas trouver la cause. S'il vous plaît aider.
Merci pour l'aide. Je savais que c'était quelque chose de stupide comme ça. – Haoest