没有用于调用“qsort”的匹配函数

时间:2012-04-23 23:09:45

标签: c++ qsort

我似乎无法让qsort在我的问题中工作。我环顾四周,我的代码应该是正确的。

int file::compare (const void * a, const void * b)
{
     fileinfo* fa = (fileinfo*)a;
     fileinfo* fb = (fileinfo*)b;
     return (*(int*)fa->inode - *(int*)fb->inode);
}

void file::print()
{
    qsort((void *)files, 100, sizeof(fileinfo), compare);
}

files是一个fileinfo数组。 struct fileinfo是一个包含文件名称和inode的结构。

1 个答案:

答案 0 :(得分:7)

必须将

file::compare声明为static才能用作qsort的参数。