我似乎无法让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/