Maison >développement back-end >C++ >Pourquoi ma fonction HelloWorld ne fonctionne-t-elle pas ? Comprendre les problèmes de portée en C
Impossible de déclarer la fonction HelloWorld : comprendre les problèmes de portée
En C, la notion de portée est cruciale pour organiser et contrôler la visibilité des fonctions , variables et autres entités au sein d’un programme. Le non-respect des règles de portée peut entraîner des erreurs de compilation, telles que celle rencontrée dans le code que vous avez fourni :
Message d'erreur :
'HelloWorld' was not declared in this scope
Code :
<code class="cpp">#include <iostream> using namespace std; int main() { HelloWorld(); return 0; } void HelloWorld() { cout << "Hello, World" << endl; }</code>
Explication :
L'erreur indique que la fonction HelloWorld() n'est pas reconnue au moment où elle est appelée dans le fonction principale. Cela se produit parce que les fonctions en C doivent être déclarées ou définies avant de pouvoir être utilisées. Dans ce cas, le compilateur ne trouve pas de déclaration ou de définition de HelloWorld() dans la portée actuelle de la fonction principale.
Solutions :
Il existe deux solutions possibles à ce numéro :
<code class="cpp">void HelloWorld();</code>
<code class="cpp">#include <iostream> using namespace std; void HelloWorld() { cout << "Hello, World" << endl; } int main() { HelloWorld(); return 0; }</code>
Les deux solutions résolvent le problème de portée en informant le compilateur de l'existence de la fonction HelloWorld() avant son appel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!