Feil udefinert referanse til en funksjon i C

Feil udefinert referanse til en funksjon i C
Vi har sett og løst mange unntak mens vi koder på ethvert programmeringsspråk. Den udefinerte referansen er et av disse unntakene som for det meste skjedde på C -språket, ettersom navnet antyder at det vil skje når noen funksjonsdefinisjon mangler i skriptet. Dermed vil denne artikkelen gi deg noen enkle metoder for å løse denne feilen mens du begynner med å lage den. Sørg for å logge inn fra Linux -systemet og åpne terminalen for å begynne å implementere via snarveismetoden “Ctrl+Alt+T”.

Merk: Vi har allerede installert GCC -kompilatoren i vårt løpende operativsystem.

Eksempel 01:

En av de populære årsakene til feilen udefinert referanse kan være noe navnutgave av en funksjon. Så i dette eksemplet vil vi se hvordan en feil kan genereres og løses ved hjelp av funksjonsnavnet. Vi skal lage en ny “exp.c ”-fil for å legge til C -koden vår til den i skallterminalen.

$ Touch Exp.c

Filen er opprettet i hjemmekatalogen. For å åpne denne filen, trenger vi noen redigeringsapplikasjoner. Derfor har vi brukt Nano -redaktøren for å åpne den.

$ nano exp.c

Vi holdt C -koden vår enkel for enkel forståelse av brukerne våre. Vi har tatt med en overskriftsfil i starten av en kode. Etter det er en hovedfunksjon () blitt definert for å skrive ut at vi har jobbet med hovedmetoden akkurat nå. Stavene til funksjonsnavnene er feil. Dermed må den vise en udefinert referansefeil mens sammenstilling av koden. Vi har lagret kodefilen vår og kom tilbake til skallet.

Forsikre deg om at du har noen C -kompilatorer som er konfigurert i Linux -systemet ditt. Vi har brukt den evige GCC -kompilatoren her for å kompilere ovennevnte C -kode. Ved sammenstilling med GCC -kompilator har vi fått den udefinerte referansen til Main () -feil som forventet.

$ GCC EXP.c

Når vi har utført filen, står det at det ikke er noen slik fil eller katalog.

$ ./en.ute

La oss rette koden og endre funksjonens navn til Main () i henhold til bildet nedenfor.

Dermed, denne gangen, når du sammenstiller og utfører filen, vil den fungere perfekt uten noen feil, i.e., udefinert referanse til en funksjon.

$ GCC EXP.c
./en.ute

Eksempel 02:

La oss ha et annet eksempel på den samme feilen. Så, åpne den samme filen og legg til en inngangs-output standardoverskrift. En funksjonsprototype for Show () -metoden er blitt erklært etter det. Til slutt er hovedmetoden blitt definert for å skrive ut litt tekst og ringe funksjonshowet (), som er blitt erklært tidligere.

Ved kompilering har vi feil som en udefinert referanse for å vise (). Dette er fordi Show () -metoden bare er erklært, men ikke definert i koden.

$ GCC EXP.c

For å løse denne feilen, har vi oppdatert koden en gang til. Lagt til funksjonsdefinisjonen av Show () -metoden etter hovedmetoden. Denne metoden inneholder en enkelt utskriftsuttalelse i den.

Da vi samlet filen, ble feilen løst, og koden ble utført vellykket.

$ GCC EXP.c
./en.ute

Eksempel 03:

En annen feil de fleste brukere gjør mens programmering ikke er oppmerksom på språksyntakss saksfølsomhet. Dette kan også føre til at feilen udefinert referanse oppstår. Så la oss se på dette problemet i dette eksemplet. Vi har brukt den samme koden så langt. Vi har nettopp brukt de forskjellige sakssyntaks for funksjonsnavn, i.e., show og show. Funksjonsdefinisjonen inneholder det lille bokstavnavnet, mens funksjonssamtalen inneholder store bokstaver. Lagre denne koden.

Brukte GCC -kompilatoren for å kompilere exp.C -fil. Feilen: udefinert referanse til funksjonshow () har dukket opp på terminalskallet som forutsagt.

$ GCC EXP.c

For å løse denne feilen, åpner du bare filen og gjør navnet på en funksjon det samme i sin funksjonsdefinisjon og funksjonsanrop. Så vi pleide å vise (), jeg.e., Små saksnavn for å gå lenger. Lagre denne oppdaterte koden for å kompilere den.

Da vi samlet koden, til slutt, ble den vellykket samlet uten feil igjen. Dermed fungerer utførelsen av denne filen bra i henhold til bildet nedenfor.

$ GCC EXP.c
./en.ute

Konklusjon:

I denne guiden har vi sett hvordan en enkel feil av en bruker kan føre til at den udefinerte feilreferansen til en funksjon oppstår. For å løse denne feilen, har vi implementert enkle metoder i illustrasjonene for å gjøre dem forstått godt. Vi håper denne artikkelen oppfyller dine krav på sitt beste.