Bonjour,
j'ai le warning suivant et je n'arrive pas à m'en défaire:
warning: passing argument 5 of 'bsearch' from incompatible pointer type
voici la ligne qui pose problème:
bsearch(id, textInformationFrame, sizeof(textInformationFrame)/sizeof(textInformationFrame[0]), sizeof(textInformationFrame[0]), strcmp);
Si je comprends bien, c'est strcmp qui pose problème, mais pourquoi?
Sinon, comment se débarrasser de ce warning (ne plus le voir, avec un pragma par exemple...)?
NOTE:
fichier c compilé avec gcc (version 3 ou 4, je sais plus):
gcc -g -Wall -c file.c
Merci pour toute réponse ou tout début de piste.
C'est bien ça.
Parce que le pointeur de fonction censé être passé à bsearch doit pointer une fonction prototypée comme recevant des pointeurs constant void (const void *)
Alors que strcmp est prototypée comme recevant des pointeurs constant char (const char *)
Il n'y a pas concordance de types donc le compilateur émet un avertissement.
En transtypant vers le bon type de pointeur de fonction, comme ceci.
:D
[private joke]
Ah m....., il y a plein de parenthèses dans ce que j'ai écrit là, je vais encore me faire engueuler par jrebillat :!: :twisted: :twisted: :twisted:
Damned :!: :lol: :lol: :lol:
[/private joke]
Merci beaucoup, c'est ce que je voulais.
Merci de consacrer du temps à ces forum et d'aider les gens.
Youpi. :)
Bruno.