casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005
-
26 janv. 2005 à 16:19
casper_2
Messages postés93Date d'inscriptionvendredi 27 février 2004StatutMembreDernière intervention30 mai 2005
-
26 janv. 2005 à 16:55
A ma compilation g un message de type:(transfert est une fonction);
warning:type mismatch with previous implicit declaration
warning:previous implicit declaration of 'transfert'
warning:'transfert' waq previously implicity declared to return 'int'
Jne comprenp pas,cki se passe,mains kan je compile, 2 fois de suite,le message ne saffiche plus!!!!
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 26 janv. 2005 à 16:43
en général c'est parce que le prototype de la fonction n'est pas mis avant de se servir de la fonction et le compilo va supposer qu'elle retourne un int. Si plus loin dans le fichier, la fonction est définie avec un autre type, il affiche un warning.
en gros si tu as la fonction :
void truc()
{
.....
}
il faut mettre
void truc();
au début du fichier source (ou dans une entête) avant de s'en servir.
lors de la première compilation, le compilo va générer des erreurs et des warning. s'il n'y a pas d'erreurs (mais des warnings sont autorisés), le fichier objet sera généré.
Lors de la compilation suivante et si le fichier source n'a pas été modifié et le fichier objet non supprimé, le compilo va déterminer qu'il n'y a pas besoin de recompiler le fichoer et tu n'aura donc pas les warnings. En faisant un rebuild all, ils réappaîtront.