Comment faire pour trier les fonctions en C? “précédente déclaration implicite de la fonction est ici” erreur
Je suis sûr que cela a été demandé avant, mais je ne pouvais pas trouver quelque chose qui pourrait m'aider.
J'ai un programme avec des fonctions en C qui ressemble à ce
function2(){
function1()
}
function1 (){
function2()
}
main () {
function1()
}
C'est plus compliqué que ça, mais je suis en utilisant la récursivité. Et je ne peut pas organiser la fonction dans le fichier, de sorte que chaque fonction serait seulement appeler des fonctions qui sont spécifiées au-dessus de lui-même. Je reçois un message d'erreur
main.c:193: error: conflicting types for 'function2'
main.c:127: error: previous implicit declaration of 'function2' was here
Comment puis-je éviter cela? Merci d'avance pour les suggestions et réponses.
OriginalL'auteur Randalfien | 2010-12-08
Vous devez vous connecter pour publier un commentaire.
Vous devez déclarer (pas définir) au moins une fonction avant de l'utiliser.
function1()
sert également une déclaration.OriginalL'auteur pmg
Foward déclarer vos fonctions...
la question était "comment" et non pas "pourquoi". Pour le "pourquoi", je suggère la lecture sur le langage C spec en général.
OriginalL'auteur Andrew White
Essayer:
OriginalL'auteur Muggen
Avant de déclarer vos fonctions, mais en utilisant prototypes. Si vous avez beaucoup d'entre eux, que vous ne pouvez pas gérer cela, c'est le moment de penser à votre conception et de créer un .h fichier avec toutes vos prototypes. Utilisation
si c'était ce que vous vouliez dire.
int function1()
est déjà différente de celle de C. à Aider le compilateur tel qu'il peut vous aider.OriginalL'auteur Jens Gustedt
C'est de cette façon C fonctionne. Nous avons besoin de déclarer la fonction avant de l'utiliser. comme lorsque vous utilisez une variable, vous devez déclarer d'abord, puis vous aurait l'utiliser.
Déclaration:-
fonction1();
fonction2();
et puis mettez votre propre code.
OriginalL'auteur Anshu Sharma