Что означает этот синтаксис C?

Это из библиотеки Magic 'Array, которую я использую.

void
sort(magic_list *l, int (*compare)(const void **a, const void **b))
{
    qsort(l->list, l->num_used, sizeof(void*),
         (int (*)(const void *,const void *))compare);
}

мой Вопрос: Что на Земле является последним аргументом для QSORT?

(int (*)(const void *, const void*))compare) 

QSORT принимает int (* comp_fn) (const void *, const void *) , как это аргумент компаратора, но это сортировка Функция принимает компаратор с двойными указателями. Как-то, линия выше преобразует версию двойной указателя в одну версию указателя. Может кто-нибудь помочь объяснить?

6
задан Chris 8 September 2011 в 20:44
поделиться