va be come non detto, io non ho visual studio 9 purtroppo..
vorrei chiederti una cosa allora..
io sto facendo un progetto per l'universita che consiste in un programma in cui chiamo la qsort cosi:
dove la funzione compare è:codice:qsort(vettore_parole, parole_inserite, sizeof(TIPO), (cmp)compare);
e il puntatore è:codice:int compare(TIPO *a, TIPO*b) { //se il campo frequenza del primo elemento da confrontare è minore del secondo restituisco -1 if(a->frequenza < b->frequenza) return -1; else if(a->frequenza > b->frequenza) return 1;//se è maggiore restituisco 1 else return 0;//se è uguale restituisco 0 }
il mio porgramma va.. pero, siccome ammetto di aver copiato l'implementazione di questa funzione da internet perche nn la conoscevo, vorrei chiedere se perfavore potevate spiegarmi queste cose che non mi sono chiare:codice:typedef int (*cmp)(const void*, const void*);
perche la qsort vuole un puntatore a funzione come 4° parametro?
perche devo definire il puntatore a funzione con const void* come argomenti invece che con il tipo "TIPO" definito da me?
perche devo fare il cast con (cmp) per la compare quando chiamo la qsort?
spero che possiate aiutarmi
grazie

Rispondi quotando