Mon code est
conflicting types for 'doc'
9 Réponses :
Ce n'est clairement pas votre code complet. P>
Toutefois, cette erreur signifie qu'il existe une autre déclaration pour doc code> (peut-être une variable globale? Quelque chose dans un fichier d'en-tête?) Ce n'est pas un
VOI code> ne prend aucun paramètre. p>
Il peut aussi avoir utilisé la fonction avant sa définition
U vous l'avez déclarée avec un autre type / signature et défini avec un autre type / signature.
comme p> vous donnera cet avertissement. p> p>
"doc" est probablement déjà déclaré avec un type différent ... Vous devriez essayer de trouver la déclaration précédente! p>
en C, si vous n'avez pas de prototype pour une fonction lorsque vous l'appelez, il est supposé renvoyer un En fonction de la complexité de votre code, vous pouvez faire quelque chose d'aussi simple que de déplacer la définition de la fonction avant son utilisation, ou ajoutez la fonction déclaration em> dans un fichier d'en-tête et y inclure. p> Dans tous les cas, l'effet net doit être de faire le prototype de fonction disponible avant qu'il soit utilisé. p> si vous ajoutez p> avant la fonction Utilisation, vous aurez un prototype visible dans la portée et votre avertissement Vacher. P> Je pense que c'est la cause la plus probable de votre avertissement. Vous pouvez avoir une déclaration explicative incompatible de int code> et pour prendre un nombre non spécifié de paramètres. Ensuite, lorsque vous définissez ultérieurement votre fonction comme retournant
void code> et ne prenant aucun paramètre, le compilateur voit ceci comme un conflit.
doc code> dans votre code, mais nous ne pouvons pas le dire car vous n'avez pas posté de code complet. P> p>
Vous avez soit déclaré doc code> avant, ou a apporté un appel à indéterminé
doc code>, forçant ainsi le compilateur à déduire une déclaration de paramètre probable pour
doc code> de cet appel. Maintenant, la définition de
doc code> que vous avez citée est différente de celle de cette déclaration précédente (explicite ou déduite par le compilateur), ce qui est rapporté comme un "conflit". P>
Assurez-vous que vous n'avez pas utilisé Doc d'où dans votre code!, Je pense que cela ne donne que des problèmes! p>
Essayez d'écrire votre fonction DOC avant votre fonction principale dans votre fichier de programme. P>
Merci! Soin pour expliquer pourquoi est-ce?
Il représente la déclaration avant de la fonction et constitue le prototype de la fonction.
Déclarant la fonction au-dessus de l'utilisation qui l'a résolu pour moi.
Exemple: p> Comme vous pouvez le voir ci-dessus, l'utilisation de enregistrementAudio () < / code> est ci-dessus où est utilisé. p> p>
C'est parce que vous n'avez pas créé de prototype de fonction avant d'appeler la fonction.
Donc, le compilateur assume le type de retour comme INT par défaut. Mais lors de la définition de la fonction, vous avez utilisé le type de retour en tant que vide, ce qui est en conflit à une hypothèse complète. C'est pourquoi vous obtenez une erreur Vous pouvez le résoudre en ajoutant un prototype de fonction avant la principale p> #include <stdio.h>
void doc();
int main()
{
doc();
}
void doc()
{
//mycode
return;
}
Vous avez probablement un autre
DOC CODE> défini quelque part, vérifiez votre inclusion, le message d'erreur doit vous dire où la Déclaration conflictuelle est également.