компилятора показывает мне, что:Преобразовать константный недействительный указатель на Int указатель
In function ‘int compare(const void*, const void*)’:
invalid conversion from ‘const int*’ to ‘int*’ [-fpermissive]
invalid conversion from ‘const int*’ to ‘int*’ [-fpermissive]
Это моя функция:
int compare(void const *a, void const *b) {
int *a2 = (int*)a;
int *b2 = (int*)b;
int *uziv1=*((const int**)a2);
int *uziv2=*((const int**)b2);
if(abs(uziv1[0]) < abs(uziv2[0])) return -1;
if(abs(uziv1[0]) > abs(uziv2[0])) return 1;
if(abs(uziv1[1]) < abs(uziv2[1])) return -1;
if(abs(uziv1[1]) > abs(uziv2[1])) return 1;
return 0;
}
Мне нужно преобразовать два указатель из ничтожного ИНТА для чтения из массива они указать и сравнить значения. Функция должна иметь заданную подпись, чтобы ее можно было использовать для qsort
.
Показать соответствующую часть кода, вызывающего qsort. – 2501
http://stackoverflow.com/q/27166757/971127 – BLUEPIXY
'qsort (array, count, sizeof (int **), compare);' –