我的比較函數依賴於Foo中的數據成員,因此我希望將它包含在此類中。所有的例子都使用全局函數,但它不是我想要的。我希望Foo的每個實例根據對象的當前狀態進行不同的比較。將比較函數傳遞給qsort C++
class Foo
{
public:
Foo(){}
int Compare(const void * a,const void * b)
{
//Comparing logic
//This is fine
}
void SortStuff(void)
{
qsort(ObjectArray,MAXOBJECTS,sizeof(Object*), Compare);
}
};
幫你一個忙,並使用['std :: sort'](http://en.cppreference.com/w/cpp/algorithm/sort)。它使這種事情變得微不足道。 – juanchopanza
這甚至不應該編譯。 'qsort'不能接受指向非靜態成員函數的指針。 – Brian
...並實施運營商<您的比較。 – jbruni