Merk: Operativsystemet som brukes i denne guiden er Ubuntu 20.04. Imidlertid kan den samme guiden implementeres på andre operativsystemer også.
Eksempel 01:
Begynn med det første eksemplet for å se hvordan feilen “Funksjonen ikke ble erklært i omfanget” oppstår. La oss opprette en ny C ++ -fil med "Touch" -spørsmålet i skallet, som vist på bildet nedenfor.
$ berøringstest.CC
Etter å ha opprettet en fil, må du åpne den i en redigerings redigering for å legge til C ++ -kode til den. Så vi har allerede installert GNU Nano -redaktøren for dette formålet. Derfor har vi brukt Nano Editor til å åpne og skrive kode i den i henhold til snap -bildet.
$ nano test.CC
Innenfor denne filen har vi tatt med en input-output stream header i starten. Standard navneområdet må brukes i C ++ -koden. For uten det vil ikke koden vår fungere. Hovedmetoden har blitt initialisert først for å starte utførelsen. Den påpeker at kontrollen er gitt til hovedmetoden. Hovedmetoden bruker funksjonssamtalen for å utføre den brukerdefinerte metoden “Display ()”. Så, Display () -metoden som er blitt definert etter at hovedmetoden kjører og sender ut noen tekstuttalelser.
Når det gjelder C ++ -språket, må vi installere G ++ -kompilatoren. Så vi har allerede installert det på systemet vårt. G ++ -kompilatoren er blitt brukt i kommandoen for å kompilere koden. Samlingen kaster et unntak som “Display ()” -metoden ikke ble definert i omfanget. Det er grunnen til at koden vår ikke vil fungere etter å ha utført den også.
$ g ++ test.CC
Vi må oppdatere en kode for å få den til å fungere og for å unngå flere omfangsfeil. Koden var riktig, bortsett fra en ting. For å løse denne feilen, vil en første metode som er nyttig være å erklære funksjonsprototypen før Main () -metoden. Så vi har brukt funksjonsprototypen før hovedmetoden i den oppdaterte koden.
Når vi har samlet koden, kaster den ingen unntak og kjører ordentlig.
$ g ++ test.CC
$ . /en.ute
En annen måte å løse denne omfangsfeilen på er å definere den brukerdefinerte metoden før main () -funksjonen hvis du ikke vil bruke funksjonsprototypen. Derfor, i henhold til koden nedenfor, har vi utvekslet posisjonene til en Main () -metode og Display () -metode.
Når vi har samlet den oppdaterte koden, fungerer den bra. Derfor utføres filkoden med hell og viser utdataene på terminalskjermen.
$ g ++ test.CC
$ . /en.ute
Eksempel 02:
La et annet eksempel for å få funksjonsfeilen i skallet og løse det. Så vi har oppdatert koden til en fil “Test.CC ”. Etter navneområdet og overskriften har vi definert to funksjoner, show1 () og show2 () i koden. Metoden Show1 () har kalt Method Show2 () i den med en funksjonsanrop.
Når vi sammenstiller filen, har vi fått feilen som viser at metoden show2 () ikke er erklært i omfanget. Ettersom funksjonen viser2 () er blitt erklært i det siste, må vi erklære prototypen før show1 () -metoden.
$ g ++ test.CC
La oss oppdatere koden for å fjerne denne feilen. Så vi har åpnet filen en gang til og lagt til funksjonserklæringen til Show2 () etter navneområdet og før alle metoder.
Etter å ha samlet koden, har vi fått en ny feil, selv om den forrige feilen er løst. Feilen sier at koden har en udefinert referanse. Dette betyr at koden vår ikke fungerer uten hovedmetoden (). Vi har heller ikke kalt Show1 () -metoden hvor som helst.
$ g ++ test.CC
Dermed har vi åpnet filen igjen for å fikse denne feilen. Vi har definert hovedmetoden på den siste av begge funksjonene. Hovedmetoden har vært å ringe Show1 () -metoden. Siden Show1 () -metoden er blitt definert i starten, er det ikke behov for funksjonsprototype erklæring. Metoden Show1 () kaller Method Show2 (). På denne måten ble utførelsen fullført.
La oss bare samle og kjøre koden igjen. Du kan se at vi ikke har funnet noen feil, og det fungerer bra.
$ g ++ test.CC
$ . /en.ute
Konklusjon:
I denne guiden har vi brukt enkle eksempler for å lage situasjoner for å få feilen: “Funksjon ikke erklært i omfanget”. Vi har også diskutert teknikkene for å løse slike problemer med forskjellige metoder. Vi håper du liker denne artikkelen og synes det er nyttig.