qsort()を使用してオブジェクトポインタの配列(PointP = Point *)を並べ替えようとしていますが、これは比較関数と並べ替えです。問題は、何も起こらず、並べ替えが行われないことです。
int compareByAngleP(const void* elem1,const void* elem2) {
PointP point1 = (PointP) elem1;
PointP point2 = (PointP) elem2;
if (abs(point1->getAngle() - point2->getAngle())>0.001)
{
return point1->getAngle() - point2->getAngle();
}
return point1->getY() - point2->getY();
}
void sortArrayP(PointP* array, int size) {
qsort(array,size, sizeof(PointP), compareByAngleP);
}