Błąd nierozwiązany symbol zewnętrzny C ++

Błąd nierozwiązany symbol zewnętrzny C ++
W kodzie może wystąpić różne błędy podczas kompilacji do dowolnego języka programowania, takiego jak C++. Istnieje nierozwiązany błąd symbolu zewnętrznego z wielu z tych błędów w C ++. Może się to zdarzyć w twoim kodzie podczas kompilacji Gdy przegapisz jakąś definicję funkcji, brakuje biblioteki dla korzystania z definicji, w kodzie zdefiniowano pewną zmienną zewnętrzną lub w kodzie. Z drugiej strony nierozwiązany błąd symboli zewnętrznego jest niezdefiniowanym odniesieniem do „symbolu” w systemie Ubuntu. Zobaczymy więc, jak można go znaleźć i jak to rozwiązać w Ubuntu 20.04. Zacznijmy od prostego tworzenia plików C ++ za pośrednictwem zapytania dotykowego i otwieraniem go w ramach edytora Ubuntu, i.mi., Nano. Obie instrukcje zostały wyświetlone poniżej.
$ Błąd dotykowy.CC
$ nano Błąd.CC

Przykład 01:

Naszym pierwszym przykładem jest rozwinięcie „błędu: nierozwiązany symbol zewnętrzny” w C++. Tak więc otwieraliśmy właśnie utworzony plik na edytorze GNU Nano, aby dodać do niego kod. Tak więc przykładowy kod został rozpoczęty od inicjowania biblioteki nagłówka „iostream”, aby nasz kod był wykonywany. Przestrzeń nazw „STD” służy do używania standardowych instrukcji kodu. Zadeklarowaliśmy funkcję zdefiniowaną przez użytkownika show () po przestrzeni nazw, a metoda main () wywoływała funkcję show () w ramach jej implementacji. Kod programu nie zawiera żadnej definicji funkcji metody show () w kodzie; spowoduje błąd „nierozwiązany symbol zewnętrzny.„Zapiszmy i wykonajmy nasz nowo wykonany kod.

#włączać
za pomocą przestrzeni nazw Std;
int show ();
int main ()
pokazywać();

Kompilator G ++ będzie tutaj, aby skompilować plik kodu C ++. Kompilacja zwraca błąd „Nieokreślone odniesienie do metody„ show () ”, która jest taka sama jak nierozwiązany symbol zewnętrzny w Ubuntu 20.04 System. Ten kod nie zadziała, dopóki błąd nie zostanie rozwiązany.

Błąd $ g ++.CC

W rezultacie plik nie można wykonać.

$ ./A.na zewnątrz

Aby uniknąć tego błędu, musimy dodać definicję funkcji show () po funkcji Main (). Tak więc zdefiniowaliśmy metodę show () w kodzie zawierającym w niej pojedynczą instrukcję Cout. Teraz, po połączeniu z metody Main (), zostanie ona pomyślnie wykonana.

#włączać
za pomocą przestrzeni nazw Std;
int show ();
int main ()
pokazywać();

int show ()
Cout <

Po skompilowaniu zaktualizowanego kodu błąd został rozwiązany.

Błąd $ g ++.CC

Po wykonaniu wykonał metodę show (), jak pokazuje wyjście.

$ ./A.na zewnątrz

Przykład 02:

Rzućmy okiem na inny przykład, aby zobaczyć „Błąd: nierozwiązany symbol zewnętrzny” w kodzie C ++. Więc dodaliśmy bibliotekę nagłówka iostream i standardową przestrzeń nazw w pierwszych dwóch wierszach. Deklaracja metody PASS () i definicja funkcji „show ()”. W ramach funkcji „show ()” nazywana jest metoda PASS (). W funkcji main () funkcja show () jest wywoływana. Ponieważ funkcja PASS () nie zawiera żadnej definicji w kodzie, wygeneruje błąd „nierozwiązany symbol zewnętrzny” lub „Nieokreślone odniesienie do pokazania” na powłoce.

#włączać
za pomocą przestrzeni nazw Std;
void Pass ();
void show ()
przechodzić();

int main ()
pokazywać();

Mamy błąd „Niezdefiniowane odniesienie do„ pass () ”w kompilacji. Po wykonaniu nie jest w stanie wykonać pliku do tej pory.

Błąd $ g ++.CC
$ ./A.na zewnątrz

Aby rozwiązać ten błąd, po prostu dodaj definicję funkcji () w kodzie po metodzie Main (), jak pokazano na załączonym zdjęciu poniżej. Funkcja PASS () zawiera 1 instrukcję Cout.

#włączać
za pomocą przestrzeni nazw Std;
void Pass ();
void show ()
przechodzić();

int main ()
pokazywać();

void pass ()
Cout<<"RUnning Pass function… "<

Tym razem w kompilacji nie znaleziono błędów, a plik kodu został pomyślnie wykonany, i.mi., Wykonanie metody pass ().

Błąd $ g ++.CC
$ ./A.na zewnątrz

Przykład 03:

Rzućmy okiem na inny przykład. Więc rozpoczęliśmy kod z tym samym nagłówkiem i przestrzenią nazw. Przed funkcją main () zadeklarowaliśmy zmienną stringową „s” i użyliśmy słowa kluczowego „zewnętrznego”, aby ogłosić ją jako zmienną zewnętrzną. W ramach metody main () inicjowaliśmy ją za pomocą wartości „Linux” za pomocą metody przypisania. Instrukcja Cout jest tutaj wykorzystywana do wyświetlania zmiennej ciągu. Spowoduje błąd, ponieważ ciąg jest zewnętrzny i nie można go zainicjować w funkcji Main ().

#włączać
za pomocą przestrzeni nazw Std;
struny zewnętrzne S;
int main ()
s = "Linux";
Cout<

Mamy to samo niezdefiniowane odniesienie do błędu „s” w powłoce na kompilacji tego kodu.

Błąd $ g ++.CC
$ ./A.na zewnątrz

Aby rozwiązać ten problem, musimy zadeklarować i zainicjować ciąg zmiennej „S” wewnątrz funkcji Main (.„Zgodnie z poniższym kodem widać, że zadeklarowaliśmy i zainicjowaliśmy ciąg„ s ”w funkcji main (), a cout służy do jej wyświetlania.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
String s = "Linux";
Cout<

Po zaktualizowanej kompilacji kodu błąd jest rozwiązany. Po wykonaniu wartość ciągu „s” została wyświetlona na powładzie jak poniżej.

Błąd $ g ++.CC
$ ./A.na zewnątrz

Wniosek:

W C ++ mamy proste wyjaśnienie, aby utworzyć i rozwiązać błąd „nierozwiązany symbol zewnętrzny” lub „Nieokreślone odniesienie do symbolu.„Stworzyliśmy proste przykłady, aby pokazać to w Ubuntu 20.04 System. Możesz skorzystać ze wszystkich przykładów na dowolnej innej platformie. Mamy bardzo nadzieję na twoją życzliwą odpowiedź.