Pourquoi pas une fonction aller après Principal
Pourquoi je ne peux pas mettre une fonction après la principale, visual studio ne peut pas construire le programme. Est-ce une C++ caprice ou un Visual Studio caprice?
par exemple.
int main()
{
myFunction()
}
myFunction(){}
produira une erreur qui ne peut pas utiliser la fonction myFunction
myFunction()
est une erreur de syntaxe, alors quemyFunction();
ne l'est pas. Vous devez d'abord déclarer le prototype de fonction avant de l'appeler.- Peut-être parce que vous êtes d'appel
myFunction
sans surcharge prototype avant de vous en avez défini. - Vous avez aussi oublié le point-virgule et le type de retour.
myFunction();
etvoid myFunction() {}
Vous devez vous connecter pour publier un commentaire.
Vous pouvez, mais vous devez le déclarer à l'avance:
Noter qu'une fonction a besoin d'un type de retour. Si la fonction ne retourne rien, ce type doit être
void
.using
-la directive est-il préférable d'avoir les prototypes aller de l'avant ou après?Vous ne pouvez pas utiliser un nom/symbole qui est pas encore déclaré. C'est la raison pour laquelle l'ensemble.
Il est comme ça:
Qui est mal trop, exactement pour la même raison. Le compilateur ne sait pas ce que
i
est – il n'a pas vraiment attention à ce qu'il sera être.Comme vous écris ceci (qui a également fait sens pour vous ainsi que le compilateur):
vous avez à écrire ceci:
Espère que ça aide.
main()
de votre code interdit. Un bon compilateur devrait vous donner l'erreur (ou au moins d'avertissement).main()
est appelée par le moteur d'exécution.Parce que
doit être déclaré avant de l'utiliser. C'est le c++ comportement en général.
vous devez déclarer avant une fonction principale peut savoir qu'il y a certains.
N'oubliez pas de mettre
;
après chaque commande.la plupart des langages informatiques ont de bas en haut de l'approche qui signifie que le code est compilé à partir du haut. Lorsque nous définissons une fonction après fonction principale et de l'utiliser dans les principaux [myFunction () ], le compilateur pense " qu'est-ce que cela. Je n'ai jamais vu ça avant", et il génère un message d'erreur indiquant que mafonction ne pas déclarée. Si vous souhaitez utiliser de cette façon, vous devez donner un prototype de cette fonction avant d'en définir la fonction principale. Mais certains compilateurs acceptent sans un prototype.
Fonctions doivent être déclarées avant d'être utilisées:
Bien sûr, vous pouvez déclarer en premier. Ou mieux, mettre la déclaration dans un en-tête et
#include
dans le fichier source.spécifier la déclaration de la fonction avant d'appeler la fonction .De sorte que le compilateur va connaître le type de retour et la signature
Vous devez déclarer la fonction avant de.