Quote:
Si je comprends bien, c'est strcmp qui pose problème,
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.
Quote:
Sinon, comment se débarrasser de ce warning
En transtypant vers le bon type de pointeur de fonction, comme ceci.
bsearch(id, textInformationFrame,
sizeof(textInformationFrame)/sizeof(textInformationFrame[0]),
sizeof(textInformationFrame[0]),
(int(*)(const void *, const void *))strcmp);
: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]
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]