Przejdź do treści głównej
INF.04Pytanie #250 z 856podstawy-skladni-i-typy-danych

Błąd kompilacji "incompatible types" może zostać wygenerowany, gdy

Opcje odpowiedzi:
A
funkcja przyjmuje jako argument całkowitą, a wywołana została z napisem jako parametr
Prawidłowa
B
popełniono błąd podczas deklaracji zmiennej, zastosowano typ, który nie istnieje
C
zmiennej typu int została przypisana wartość 243
D
funkcja zwraca typ void, a podczas wywołania nie jest przypisana do żadnej zmiennej
Reklama

Wyjaśnienie i uzasadnienie dydaktyczne

Poprawna odpowiedź: A

Uzasadnienie i szersze wyjaśnienie:

Błąd „incompatible types” (niezgodne typy) jest generowany przez kompilator w językach typowanych statycznie (jak Java czy C++) w sytuacji, gdy próbujemy użyć wartości jednego typu w miejscu, gdzie oczekiwany jest inny, niekompatybilny typ.

  • Przekazanie napisu (string) jako argumentu do funkcji, która oczekuje liczby całkowitej (int), jest podręcznikowym przykładem takiej niezgodności. Kompilator nie wie, jak automatycznie i bezpiecznie przekonwertować napis na liczbę, dlatego zgłasza błąd.

Dlaczego pozostałe odpowiedzi są nieprawidłowe?

  • B: Użycie nieistniejącego typu spowodowałoby inny błąd, np. „cannot find symbol” lub „unknown type name”.
  • C: Jest to w pełni prawidłowa operacja. Liczba 243 mieści się w zakresie standardowego typu int.
  • D: Jest to prawidłowy sposób wywołania funkcji, która zwraca void (czyli nic nie zwraca). Błąd pojawiłby się, gdybyśmy próbowali przypisać jej nieistniejący wynik do zmiennej, np. int x = funkcjaVoid();.

Chcesz poćwiczyć całą kwalifikację INF.04?

Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.

Rozwiąż w Quizie

Pojęcia z tego pytania

Cały słownik INF04
Reklama

Podobne pytania z działu „Podstawy skladni i typy danych”

Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 54 pytań z tego działu.