Remarque: Le système d'exploitation utilisé dans ce guide est Ubuntu 20.04. Cependant, le même guide peut également être mis en œuvre sur d'autres systèmes d'exploitation.
Exemple 01:
Commencez par le premier exemple pour voir comment la «fonction d'erreur n'a pas été déclarée dans la portée» se produit. Créons un nouveau fichier C ++ avec la requête «Touch» dans le shell, comme indiqué dans l'image ci-dessous.
$ TOCK TEST.CC
Après avoir créé un fichier, vous devez l'ouvrir dans un éditeur pour y ajouter du code C ++. Donc, nous avons déjà installé l'éditeur GNU Nano à cet effet. Par conséquent, nous utilisons Nano Editor pour y ouvrir et écrire du code conformément à l'image Snap.
$ test nano.CC
Dans ce fichier, nous avons inclus un en-tête de flux d'entrée-sortie au début. L'espace de noms standard doit être utilisé dans le code C ++. Parce que sans ça, notre code ne fonctionnera pas. La méthode principale a été initialisée en premier pour démarrer l'exécution. Il souligne que le contrôle a été donné à la méthode principale. La méthode principale utilise l'appel de fonction pour exécuter la méthode définie par l'utilisateur «Affichage ()». Ainsi, la méthode affichage () qui a été définie après que la méthode principale exécute et publie certaines instructions de texte.
Dans le cas de la langue C ++, nous devons installer le compilateur G ++. Donc, nous l'avons déjà installé sur notre système. Le compilateur G ++ a été utilisé dans la commande pour compiler le code. La compilation jette une exception que la méthode «Affichage ()» n'a pas été définie dans la portée. C'est la raison pour laquelle notre code ne fonctionnera pas après l'avoir également exécuté.
Test $ g ++.CC
Nous devons mettre à jour un code pour le faire fonctionner et pour éviter plus d'erreurs de portée. Le code était tout correct sauf pour une chose. Pour résoudre cette erreur, une première méthode utile serait de déclarer le prototype de fonction avant la méthode principale (). Nous avons donc utilisé le prototype de fonction avant la méthode principale du code mis à jour.
Lorsque nous avons compilé le code, il ne lance aucune exception et fonctionne correctement.
Test $ g ++.CC
$ . /un.dehors
Une autre façon de résoudre cette erreur de portée est de définir la méthode définie par l'utilisateur avant la fonction principale () si vous ne souhaitez pas utiliser son prototype de fonction. Par conséquent, conformément au code ci-dessous, nous avons échangé les positions d'une méthode Main () et de la méthode Affichage ().
Lorsque nous avons compilé le code mis à jour, cela fonctionne bien. Par conséquent, le code de fichier est exécuté avec succès et affiche la sortie sur l'écran du terminal.
Test $ g ++.CC
$ . /un.dehors
Exemple 02:
Voir un autre exemple pour obtenir l'erreur de portée de la fonction dans le shell et le résoudre. Nous avons donc mis à jour le code d'un fichier «Test.CC ". Après l'espace de noms et l'en-tête, nous avons défini 2 fonctions, show1 () et show2 () dans le code. La méthode show1 () a appelé la méthode show2 () à l'intérieur par un appel de fonction.
Lors de la compilation du fichier, nous avons eu l'erreur montrant que la méthode show2 () n'est pas déclarée dans la portée. Comme la fonction show2 () a été déclarée dans le dernier, nous devons déclarer son prototype avant la méthode show1 ().
Test $ g ++.CC
Mettons à jour le code pour supprimer cette erreur. Nous avons donc ouvert le fichier une fois de plus et ajouté la déclaration de fonction de show2 () après l'espace de noms et avant toutes les méthodes.
Après avoir compilé le code, nous avons eu une nouvelle erreur, bien que l'erreur précédente ait été résolue. L'erreur indique que le code a une référence non définie. Cela signifie que notre code ne fonctionnera pas sans la méthode principale (). De plus, nous n'avons pas appelé la méthode Show1 () nulle part.
Test $ g ++.CC
Ainsi, nous avons de nouveau ouvert le fichier pour corriger cette erreur. Nous avons défini la méthode principale au dernier des deux fonctions. La méthode principale a été d'appeler la méthode show1 (). Comme la méthode Show1 () a été définie au début, il n'y a pas besoin de déclaration de prototype de fonction. La méthode show1 () appelle la méthode show2 (). De cette façon, l'exécution s'est terminée.
Compilons et exécutons à nouveau le code. Vous pouvez voir que nous n'avons trouvé aucune erreur, et cela fonctionne bien.
Test $ g ++.CC
$ . /un.dehors
Conclusion:
Dans ce guide, nous avons utilisé des exemples simples pour faire des situations pour obtenir l'erreur: «fonction non déclarée dans la portée». De plus, nous avons délibéré les techniques pour résoudre ces problèmes avec différentes méthodes. Nous espérons que vous aimez cet article et que vous le trouvez utile.