control reaches end of non-void function Programmiersprache C

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Dieser Fehler bedeutet, dass du eine Funktion in deinem Programm hast, welche laut Deklaration einen Wert zurückgeben sollte (sie hat also nicht den Typ void, sondern z.B. den Typ int oder char). Nun ist der Compiler am Ende deiner Funktion angelangt und hat kein return-Statement vorgefunden, welches diesen Wert zurückgeben könnte.

Du hast also entweder ein return samt Rückgabewert vergessen, oder du hast die Funktion mit einem falschen Typ deklariert (falls sie tatsächlich nichts zurückgeben soll). Welcher der beiden Fälle zutrifft, kannst nur du wissen, da nur du weißt, was deine Funktion überhaupt tun soll.

Spricht dafür, dass du keinen Rückgabewert einer Funktion angegeben hast, obwohl sie einen Wert zurückgeben sollte