У меня вопрос к предупреждающему сообщению, которое я получаю.
Для этой строки используется функция библиотеки qsort:
qsort(catalog, MAX ,sizeof catalog, struct_cmp_by_amount);
Я получаю это предупреждение:
предупреждение: передача аргумента 4 из qsort
делает указатель из целого числа без
литые
РЕДАКТИРОВАТЬ:
struct_cmp_by_amount - следующая функция в программе. (--->)
Каталог является структурой и
Макс определяется как 100
НО, для другой программы с тем же кодом, с той же функцией struct_cmp_by_amount, я не получаю это предупреждение для 4-го аргумента!
РЕДАКТИРОВАТЬ: Я также должен сказать, что в обеих программах я не использовал прототипы функций! Но для 2-й программы она работает нормально, в отличие от 1-й.
qsort(structs, structs_len, sizeof(struct st_ex), struct_cmp_by_amount);
EDIT:
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);
}
Я брожу о том, почему это происходит. У тебя есть идеи?