我似乎无法让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 的结构。

最佳答案

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

关于c++ - 没有匹配的函数来调用 “qsort”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10289527/

10-11 20:46