Uwaga: System operacyjny używany w tym przewodniku to Ubuntu 20.04. Jednak ten sam przewodnik może być również wdrażany w innych systemach operacyjnych.
Przykład 01:
Zacznij od pierwszego przykładu, aby zobaczyć, w jaki sposób występuje błąd „funkcja nie została zadeklarowana w zakresie”. Utwórzmy nowy plik C ++ z zapytaniem „dotyk” w powładzie, jak pokazano na poniższym zdjęciu.
$ Touch Test.CC
Po utworzeniu pliku musisz otworzyć go w ramach jakiegoś edytora, aby dodać do niego kod C ++. Tak więc zainstalowaliśmy już w tym celu edytora GNU Nano. Dlatego wykorzystaliśmy Nano Editor do otwierania i zapisu w nim kodu zgodnie z obrazem Snap.
Test $ nano.CC
W tym pliku na początku umieściliśmy nagłówek strumienia wejściowego. Standardowa przestrzeń nazw musi być używana w kodzie C ++. Ponieważ bez tego nasz kod nie zadziała. Główna metoda została zainicjowana najpierw, aby rozpocząć wykonywanie. Wskazuje, że kontrola została przekazana do głównej metody. Główna metoda używa wywołania funkcji do wykonania metody zdefiniowanej przez użytkownika „Display ()”. Tak więc metoda display (), która została zdefiniowana po uruchomieniu głównej metody i wyświetla niektóre instrukcje tekstowe.
W przypadku języka C ++ musimy zainstalować kompilator G ++. Więc zainstalowaliśmy go już w naszym systemie. Kompilator G ++ został wykorzystany w poleceniu do kompilacji kodu. Kompilacja rzuca wyjątek, że metoda „display ()” nie została zdefiniowana w zakresie. To jest powód, dla którego nasz kod nie zadziała również po jego wykonaniu.
test $ g ++.CC
Musimy zaktualizować kod, aby działał i uniknąć większej liczby błędów zakresu. Kod był poprawny, z wyjątkiem jednej rzeczy. Aby rozwiązać ten błąd, pierwszą metodą, która jest pomocna, będzie deklarowanie prototypu funkcji przed metodą Main (). Tak więc zastosowaliśmy prototyp funkcji przed główną metodą w zaktualizowanym kodzie.
Kiedy skompilowaliśmy kod, nie rzuca on wyjątków i działa poprawnie.
test $ g ++.CC
$ . /A.na zewnątrz
Innym sposobem rozwiązania tego błędu zakresu jest zdefiniowanie metody zdefiniowanej przez użytkownika przed funkcją Main (), jeśli nie chcesz używać prototypu funkcji. Stąd, zgodnie z poniższym kodem, wymieniliśmy pozycje metody main () i display ().
Kiedy skompilowaliśmy zaktualizowany kod, działa dobrze. Stąd kod pliku jest wykonywany pomyślnie i pokazuje dane wyjściowe na ekranie terminalu.
test $ g ++.CC
$ . /A.na zewnątrz
Przykład 02:
Zobaczmy kolejny przykład, aby uzyskać błąd zakresu funkcji w powładzie i rozwiązać. Zaktualizowaliśmy więc kod pliku „Test.CC ”. Po przestrzeni nazw i nagłówku zdefiniowaliśmy 2 funkcje, show1 () i show2 () w kodzie. Method show1 () nazwał w nim metodę show2 ().
Po skompilowaniu pliku mamy błąd pokazujący, że metoda show2 () nie jest zadeklarowana w zakresie. Ponieważ funkcja show2 () została zadeklarowana w ostatnim, musimy zadeklarować jego prototyp przed metodą show1 ().
test $ g ++.CC
Zaktualizujmy kod, aby usunąć ten błąd. Tak więc ponownie otworzyliśmy plik i dodaliśmy deklarację funkcji show2 () po przestrzeni nazw i przed wszystkimi metodami.
Po skompilowaniu kodu mamy nowy błąd, chociaż poprzedni błąd został rozwiązany. Błąd mówi, że kod ma niezdefiniowane odniesienie. Oznacza to, że nasz kod nie zadziała bez metody Main (). Również nigdzie nie nazwaliśmy metody show1 ().
test $ g ++.CC
W ten sposób ponownie otworzyliśmy plik, aby naprawić ten błąd. Zdefiniowaliśmy główną metodę na ostatnim z obu funkcji. Główną metodą było wywołanie metody show1 (). Ponieważ metoda show1 () została zdefiniowana na początku, nie ma potrzeby deklaracji prototypowej funkcji. Metoda show1 () wywołuje metodę show2 (). W ten sposób wykonanie zostało zakończone.
Po prostu skompilujmy i uruchom kod ponownie. Możesz zobaczyć, że nie znaleźliśmy żadnych błędów i działa dobrze.
test $ g ++.CC
$ . /A.na zewnątrz
Wniosek:
W tym przewodniku wykorzystaliśmy proste przykłady tworzenia sytuacji, aby uzyskać błąd: „Funkcja nie zadeklarowana w zakresie”. Ponadto rozważaliśmy techniki rozwiązania takich problemów za pomocą różnych metod. Mamy nadzieję, że podoba Ci się ten artykuł i uważasz go za pomocne.