Serge Labrecque
04/11/2003 à 20:18
Salut à vous,
Je suis vraiment dans le trouble.
Premierement je travaille avec Code Warrior et je me demande pourquoi, lors de ma compilation j'ai toujours des erreurs (la fonction n'a pas
de prototype) pour les fonctions inclues dans (math.h) comme "floor, modf.." J'ai pourtant bien mis mon include <math.h>. Il faut dire ici que mes fonctions en erreur sont dans un ".h" .
Est-ce que vous pouvez m'aider
Merci Serge
Patrice
04/11/2003 à 20:37
Bienvenue sur le forum !
Si le compilateur te dit que la fonction n'a pas de prototype, c'est qu'il n'a pas "lu" les prototypes au moment où tu les utilises. Deux possibilités (en première approche) :
- Tu n'as pas inclus <math.h> avant l'utilisation des fonctions en question
- Les fonctions qui sont dans math.h sont conditionnées par une directive de compilation que tu n'as pas définie. Plus précisément et par exemple, si la déclaration dans le .h a la forme :
#ifdef __USE_MATHLIB__
int floor(float x);
#endif
il faut que __USE_MATHLIB__ soit définie à la compilation pour que le prototype soit bien reconnu.
Juste une piste...