我似乎无法让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的结构。
答案 0 :(得分:7)
file::compare
声明为static
才能用作qsort
的参数。