当我使用
static int CompareFunction(const void* _g1, const void* _g2);
qsort 的输入是正确的
但使用
int CompareFunction(const void* _g1, const void* _g2);
qsort 的输入是错误的。错误是:
error: argument of type 'int (<namespace>::<ClassName>::)(const void*, const void*)' does not match '__compar_fn_t {aka int (*)(const void*, const void*)}'
静态如何以这种方式改变行为?我的意思是我所做的只是将类中的一个函数更改为静态的,这意味着它现在缺少这个指针。我没有再做任何改变。