En langage de programmation C, un commun erreur Message que les développeurs rencontrent est le «Types conflictuels pour la fonction» erreur. Ce erreur Le message survient lorsque le compilateur détecte deux types de données différents associées à une seule fonction. Cet article discute de ce qui cause cela erreur Et comment y remédier.
Erreur «Types contradictoires pour la fonction»
Lorsque nous déclarons une fonction en C, elle doit correspondre au type de définition de la fonction. Par exemple, si nous définissons une fonction pour renvoyer un entier, la déclaration doit également définir la fonction pour renvoyer un entier. Si les types de définition et la déclaration ne correspondent pas, le «Types conflictuels pour la fonction» erreur est lancé par le compilateur C.
Raisons pour lesquelles cette erreur se produit
Il y a plusieurs raisons pour lesquelles Types contradictoires pour les fonctions peut arriver.
1: Types de données incompatibles
La première raison est que les types de données peuvent être incompatibles entre l'appel de fonction et la définition de la fonction. Par exemple, si nous définissons une fonction pour retourner un flotteur et essayons ensuite d'appeler une fonction dans l'attente d'un entier, le compilateur détectera un conflit dans les types.
2: Prototype fonction a défini mal
Une autre raison du conflit est que le prototype de fonction n'est pas défini ou déclaré correctement. Les types de paramètres reçoivent une fonction et les types de valeurs qu'il renvoie sont déclarés dans un prototype de fonction. Si le prototype ne correspond pas à la définition, la erreur serait lancé.
3: Erreur de frappe
Finalement, le Erreur «Types contradictoires pour la fonction» Un message peut également se produire en raison d'une simple erreur de frappe, comme un nom de fonction mal orthographié, un point-virgule manquant ou une parenthèse de clôture manquante. Par conséquent, il est important de vérifier les erreurs de syntaxe lorsque nous obtenons ceci erreur message.
Voici l'exemple de code qui génère le «Type conflictuel pour la fonction» Erreur en C.
#inclureDans le code ci-dessus, le type d'arguments dans la déclaration de fonction 'moyenne ()' 'est int, tandis qu'au moment de définir la moyenne de la fonction, nous utilisons les types de données flottants pour les arguments de fonction. Comme les types de paramètres de fonction sont différents pour déclarer et définir la même fonction, nous obtenons le erreur «Types contradictoires pour« moyenne »».
Sortir
Code corrigé
Pour corriger le erreur, Nous devons vérifier que les types d'arguments dans la déclaration et la définition des fonctions sont les mêmes.
#inclureDans le code ci-dessus, nous utilisons les mêmes types de paramètres pour les deux, la définition et la déclaration de la fonction. Par conséquent, cela nous donne la sortie, je.e., la moyenne des deux valeurs.
Sortir
Conclusion
«Types conflictuels pour la fonction» Le message d'erreur en C apparaît lorsqu'il existe un décalage entre le prototype de fonction et sa définition, ainsi que lorsque le type de valeur renvoyé par la fonction n'est pas cohérent entre les deux. Pour résoudre ceci erreur, Nous devons nous assurer que le prototype de fonction et sa définition sont cohérents en termes de nombre, d'ordre et de types d'arguments acceptés et du type de valeur renvoyée. Nous devons également vérifier la syntaxe simple les erreurs Quand nous rencontrons ceci erreur Message pour éviter une frustration inutile.