$ berøringsfeil.CC
$ Nano -feil.CC
Eksempel 01:
Vårt første eksempel er å utdype “Feil: uavklart eksternt symbol” i C++. Så vi har åpnet den nettopp opprettede filen på GNU Nano Editor for å legge til kode til den. Så eksemplekoden har blitt startet ved å initialisere et "iostream" headerbibliotek for å gjøre koden vår kjørbar. "STD" navneområdet brukes til å bruke kodens standarduttalelser. Vi har erklært den brukerdefinerte funksjonsshowet () etter navneområdet, og Main () -metoden har ringt funksjonshowet () innen implementeringen. Programkoden inneholder ikke noen funksjonsdefinisjon av Show () -metoden i koden; det vil forårsake en feil “uavklart eksternt symbol.”La oss lagre og utføre vår nyopplagte kode.
#inkludere
ved hjelp av navneområdet STD;
int show ();
int main ()
forestilling();
G ++ -kompilatoren vil være her for å kompilere C ++ -kodefilen. Samlingen returnerer feilen "Udefinert referanse til" show () "-metode, som er den samme som et uløst eksternt symbol i Ubuntu 20.04 System. Denne koden fungerer ikke før feilen er løst.
$ g ++ feil.CC
Som et resultat kan ikke filen utføres.
$ ./en.ute
For å unngå denne feilen, må vi legge til definisjonen av show () -funksjonen etter main () -funksjonen. Så vi har definert Show () -metoden i koden som inneholder en enkelt cout -uttalelse i den. Nå, etter samtalen fra Main () -metoden, vil den bli utført med hell.
#inkludere
ved hjelp av navneområdet STD;
int show ();
int main ()
forestilling();
int show ()
cout <
Etter å ha samlet den oppdaterte koden, ble feilen løst.
$ g ++ feil.CC
Ved utførelse har den utført Show () -metoden som utdataene viser.
$ ./en.ute
Eksempel 02:
La oss ta en titt på et annet eksempel for å se “Feil: Uløst eksternt symbol” i C ++ -kode. Så vi har lagt til iostream headerbiblioteket og standard navneområdet på de to første linjene. Pass () metode erklæring, og "show ()" -funksjonsdefinisjon er her. Innenfor "show ()" -funksjonen kalles pass () metode. Innenfor main () -funksjonen kalles showet () funksjonen. Siden pass () -funksjonen ikke inneholder noen definisjon i koden, vil den generere en feil "uavklart eksternt symbol" eller "udefinert referanse for å vise" på skallet.
#inkludere
ved hjelp av navneområdet STD;
void pass ();
void show ()
sende();
int main ()
forestilling();
Vi har fått feilen "udefinert referanse til" pass () "på samlingen. Ved utførelse er det ikke i stand til å utføre filen så langt.
$ g ++ feil.CC
$ ./en.ute
For å løse denne feilen, kan du bare legge til funksjonspasset () Definisjonen i koden etter Main () -metoden som demonstrert på det vedlagte bildet nedenfor. Pass () -funksjonen inneholder 1 cout -uttalelse.
#inkludere
ved hjelp av navneområdet STD;
void pass ();
void show ()
sende();
int main ()
forestilling();
void pass ()
cout<<"RUnning Pass function… "<
Denne gangen er det ikke funnet noen feil i samlingen, og kodefilen er utført med hell, i.e., utføre pass () -metoden.
$ g ++ feil.CC
$ ./en.ute
Eksempel 03:
La oss se på et annet eksempel. Så vi har startet koden med samme overskrift og navneområde. Før hovedfunksjonen () har vi erklært en strengvariabel “S” og brukt nøkkelordet “ekstern” for å erklære det som en ekstern variabel. Innenfor Main () -metoden har vi initialisert den med noen strengverdi “Linux” ved hjelp av tildelingsmetoden. COUT -setningen brukes her for å vise strengvariabelen. Det vil forårsake en feil fordi strengen er ekstern og ikke kan initialiseres i hovedfunksjonen ().
#inkludere
ved hjelp av navneområdet STD;
ekstern streng s;
int main ()
S = "Linux";
cout<
Vi har fått den samme udefinerte referansen til 'S' feil i skallet på samlingen av denne koden.
$ g ++ feil.CC
$ ./en.ute
For å løse dette problemet, må vi erklære og initialisere variabelstrengen 'inne i hoved () -funksjonen uten å bruke ordet “ekstern.”I henhold til koden nedenfor, kan du se at vi har erklært og initialisert streng 'innen hoved () -funksjonen, og Cout brukes til å vise den.
#inkludere
ved hjelp av navneområdet STD;
int main ()
Streng S = "Linux";
cout<
Ved den oppdaterte kodesamlingen løses feilen. Etter utførelsen er strengens 'verdi blitt vist på skallet som nedenfor.
$ g ++ feil.CC
$ ./en.ute
Konklusjon:
I C ++ har vi en enkel forklaring på å opprette og løse feilen "uavklart eksternt symbol" eller "udefinert referanse til symbolet.”Vi har laget enkle eksempler for å demonstrere det i Ubuntu 20.04 System. Du kan benytte deg av alle eksemplene på en hvilken som helst annen plattform også. Vi er ekstremt håpefulle for ditt snille svar.