„Konflikte für Funktionen“ in C erhalten, warum?

„Konflikte für Funktionen“ in C erhalten, warum?
Jede Programmiersprache hat einige vordefinierte Datentypen, die die Art der Daten definieren, die in Variablen bereitgestellt werden können. In C gehören beispielsweise Datentypen Ganzzahlen, Schwimmkörper, Doppel, Zeichen und Zeiger. Variablen, Arrays und Funktionen können unter anderem mit diesen Datentypen definiert werden. Daher repräsentiert der Datentyp einer Funktion die Art der Daten, die die Funktion zurückgeben würde.

In C -Programmiersprache eine gemeinsame Fehler Nachricht, auf die Entwickler stoßen, ist die "Widersprüchliche Typen für die Funktion" Fehler. Das Fehler Die Nachricht entsteht, wenn der Compiler zwei verschiedene Arten von Daten erkennt, die einer einzelnen Funktion zugeordnet sind. In diesem Artikel wird erläutert, was dies verursacht Fehler und wie man es anspricht.

Fehler "widersprüchlicher Typen für Funktion"

Wenn wir eine Funktion in C deklarieren, muss sie mit dem Typ der Funktionsdefinition übereinstimmen. Wenn wir beispielsweise eine Funktion zur Rückgabe einer Ganzzahl definieren, muss die Deklaration auch die Funktion definieren, um eine Ganzzahl zurückzugeben. Wenn die Typen der Definition und die Deklaration nicht übereinstimmen, sind die "Widersprüchliche Typen für die Funktion" Fehler wird vom C -Compiler geworfen.

Gründe, warum dieser Fehler auftritt

Es gibt mehrere Gründe warum widersprüchliche Typen für Funktionen kann auftreten.

1: Nicht übereinstimmende Datentypen

Der erste Grund ist, dass Datentypen zwischen dem Funktionsaufruf und der Funktionsdefinition nicht übereinstimmen können. Wenn wir beispielsweise eine Funktion definieren, um einen Float zurückzugeben und dann zu versuchen, eine Funktion mit der Erwartung einer Ganzzahl aufzurufen, erkennt der Compiler einen Konflikt in Typen.

2: Funktionsprototyp fälschlicherweise definiert

Ein weiterer Grund für den Konflikt ist, dass der Funktionsprototyp nicht definiert oder korrekt deklariert wird. Die Arten von Parametern, die eine Funktion empfängt, und die Arten von Werten, die sie zurückgibt, werden in einem Funktionsprototyp deklariert. Wenn der Prototyp nicht mit der Definition übereinstimmt, ist die Fehler würde geworfen werden.

3: Schreibfehler

Endlich, das Fehler "widersprüchlicher Typen für Funktion" Die Nachricht kann auch aufgrund eines einfachen Schreibfehlers auftreten, z. Daher ist es wichtig, auf Syntaxfehler zu suchen, wenn wir dies erhalten Fehler Nachricht.

Hier ist der Beispielcode, der das generiert "Konflikttyp für die Funktion" Fehler in c.

#enthalten
Float Average (int, int);
int main ()

printf ("Durchschnitt ist: %f \ n", Durchschnitt (27.32,14.53));
Rückkehr 0;

Float Average (Float X, Float Y)

return ((x+y)/2);

Im obigen Code ist die Art von Argumenten in der Funktionserklärung 'Durchschnitt ()' int int, während wir zum Zeitpunkt der Definition des Funktionsdurchschnitts die Datentypen für Funktionsargumente verwenden. Da Arten von Funktionsparametern bei der Erklärung und Definieren der gleichen Funktion unterschiedlich sind, erhalten wir die Fehler "Widersprüchliche Typen für" Durchschnitt "".

Ausgang

Korrigierter Code

Um die zu korrigieren Fehler, Wir müssen überprüfen.

#enthalten
Float Average (Float, Float);
int main ()

printf ("Durchschnitt ist: %f \ n", Durchschnitt (27.32,14.53));
Rückkehr 0;

Float Average (Float X, Float Y)

return ((x+y)/2);

Im obigen Code verwenden wir dieselben Parametertypen für beide, die Definition und die Deklaration der Funktion. Daher gibt es uns die Ausgabe, ich.e., der Durchschnitt beider Werte.

Ausgang

Abschluss

"Widersprüchliche Typen für die Funktion" Die Fehlermeldung in C wird angezeigt, wenn zwischen dem Funktionsprototyp und seiner Definition ein Missverhältnis besteht, sowie wenn der von der Funktion zurückgegebene Werttyp zwischen den beiden nicht konsistent ist. Um dies zu lösen Fehler, Wir müssen sicherstellen, dass sowohl der Funktionsprototyp als auch seine Definition in Bezug auf die Anzahl, Reihenfolge und Argumente und die angenommene Argumente und die zurückgegebene Art des Werts konsistent sind. Wir müssen auch nach einer einfachen Syntax suchen Fehler Wenn wir darauf stoßen Fehler Nachricht, um unnötige Frustration zu vermeiden.