Détermination de l’index à partir de bsearch et de lfind?

J’essaie d’obtenir l’index de l’élément dans le tableau après que lfind et bsearch aient renvoyé le pointeur sur l’élément trouvé. J’ai ceci jusqu’à présent:

(char *) (found - cv->baseAddress); 

où found est l’adresse de ce que les fonctions ont trouvé, et l’adresse de base est l’adresse de l’élément 0. Cependant, le compilateur me donne cette erreur:

cvector.c: 150: 28: warning: pointeur de type ‘void *’ utilisé dans la soustraction cvector.c: 150: 4: warning: retour crée un entier à partir d’un pointeur sans transt

Que fais-je?

Vous devez transtyper le pointeur renvoyé dans le type correct. Ensuite, vous devez également diviser le décalage obtenu avec la taille des objects du tableau pour obtenir l’index.