【发布时间】:2011-02-20 10:16:20
【问题描述】:
我对收到的警告信息有疑问。 对于这一行,使用 qsort 库函数:
qsort(catalog, MAX ,sizeof catalog, struct_cmp_by_amount);
我收到此警告:
警告:传递“qsort”的参数 4 从不带 a 的整数生成指针 演员表
编辑:
struct_cmp_by_amount 是程序上的以下函数。(--->) 目录是一个结构和 MAX 定义为 100
但是,对于具有相同代码的另一个程序,具有完全相同的 struct_cmp_by_amount 函数,我没有收到第四个参数的警告!
编辑:我还不得不说,在这两个程序上我都没有使用函数原型!但是对于第二个程序,它与第一个程序相比可以正常工作。
qsort(structs, structs_len, sizeof(struct st_ex), struct_cmp_by_amount);
编辑:
st_ex 是一个结构体
struct st_ex structs[]={./*elements*/..}
size_t structs_len = sizeof(structs) / sizeof(struct st_ex);
int struct_cmp_by_amount(const void *a, const void *b)
{
struct catalogue *ia = (struct catalogue *)a;
struct catalogue *ib = (struct catalogue *)b;
return (int)(100.f*ia->amount - 100.f*ib->amount);
}
我在想为什么会这样。你有什么想法吗?
【问题讨论】:
-
请提供声明变量
struct_cmp_by_amount和struct_cmp_by_price的代码,以及qsort的签名(如果您使用自己的) -
这是信息不足的地方,而且您发布的小代码与您的文本相矛盾(struct_cmp_by_amount 与 struct_cmp_by_price 的功能不完全相同)。至少显示所有使用的标识符的声明。
-
好吧,你是对的!我有点生气,我没有发布它。现在完成了!
-
发布信息不足的问题对任何人都没有好处,包括您。等待三个小时并添加一些(不是全部)必要信息是一种改进,但出于对试图帮助您的人的礼貌,我建议在原始问题中包括必要的信息,并按要求提供更多信息合理及时。
-
@David Thornley:也许你是对的,你正在等待 3 个小时来解决我当时试图解决的代码问题。网络连接线的问题永远无法避免。无论如何,谢谢。
标签: c callback arguments warnings