W języku programowania C wspólny błąd Wiadomość, którą napotykają programiści „Sprzeczne typy funkcji” błąd. Ten błąd Wiadomość powstaje, gdy kompilator wykrywa dwa różne typy danych powiązanych z jedną funkcją. W tym artykule omówiono to, co to powoduje błąd i jak to się zająć.
Błąd „sprzecznych typów dla funkcji”
Kiedy deklarujemy funkcję w C, musi ona pasować do rodzaju definicji funkcji. Na przykład, jeśli zdefiniujemy funkcję, aby zwrócić liczbę całkowitą, deklaracja musi również zdefiniować funkcję, aby zwrócić liczbę całkowitą. Jeśli rodzaje definicji i deklaracja nie pasują, „Sprzeczne typy funkcji” błąd jest rzucany przez kompilatora C.
Powody, dla których występuje ten błąd
Istnieje kilka powodów sprzeczne typy funkcji może wystąpić.
1: niedopasowane typy danych
Pierwszym powodem jest to, że typy danych mogą być niedopasowane między wywołaniem funkcji a definicją funkcji. Na przykład, jeśli zdefiniujemy funkcję, aby zwrócić pływak, a następnie spróbujemy wywołać funkcję z oczekiwaniem liczby całkowitej, kompilator wykryje konflikt w typach.
2: Prototyp funkcji zdefiniowany błędnie
Innym powodem konfliktu jest to, że prototyp funkcji nie jest zdefiniowany ani prawidłowo zadeklarowany. Rodzaje parametrów, które odbiera funkcja, a typy zwracanych wartości są deklarowane w prototypie funkcji. Jeśli prototyp nie pasuje do definicji, błąd zostałby rzucony.
3: Błąd pisania
Wreszcie Błąd „sprzecznych typów dla funkcji” Komunikat może również wystąpić z powodu prostego błędu pisania, takiego jak błędna nazwa funkcji, brakujący półkolis lub brakujący nawias zamykający. Dlatego ważne jest, aby sprawdzić błędy składniowe, gdy to otrzymamy błąd wiadomość.
Oto przykładowy kod, który generuje „Konfliktowy typ funkcji” Błąd w c.
#włączaćW powyższym kodzie rodzaj argumentów w deklaracji funkcji „średnia ()” jest INT, podczas gdy w momencie zdefiniowania średniej funkcji używamy typów danych FLUE dla argumentów funkcji. Ponieważ typy parametrów funkcji są różne do deklarowania i definiowania tej samej funkcji, otrzymujemy błąd „Sprzeczne typy dla„ średniej ””.
Wyjście
Poprawiony kod
Aby poprawić błąd, Musimy sprawdzić, czy typy argumentów w deklarowaniu i definiowaniu funkcji są takie same.
#włączaćW powyższym kodzie używamy tych samych rodzajów parametrów zarówno dla definicji, jak i deklaracji funkcji. Stąd daje nam wyjście, i.mi., Średnia obu wartości.
Wyjście
Wniosek
„Sprzeczne typy funkcji” Komunikat o błędzie w C pojawia się, gdy istnieje niedopasowanie między prototypem funkcji a jej definicją, a także gdy rodzaj wartości zwróconej przez funkcję nie jest spójny między nimi. Aby to rozwiązać błąd, Musimy upewnić się, że zarówno prototyp funkcji, jak i jej definicja są spójne pod względem liczby, zamówienia i rodzajów zaakceptowanych argumentów oraz rodzaju zwróconej wartości. Musimy również sprawdzić prostą składnię błędy Kiedy to napotykamy błąd Wiadomość, aby uniknąć niepotrzebnej frustracji.