2016-06-22 9 views
-1

Können wir den Rückgabetyp nur in der Funktionsdeklaration und nicht in der Funktionsdefinition angeben oder muss er in beiden vorhanden sein?Ist es in Ordnung, den Rückgabetyp im Funktionsprototyp und nicht in der Funktionsdefinition in c anzugeben?

+1

Wenn Sie keinen Deklarationstyp angeben, wird standardmäßig 'int' verwendet. Aber ich denke, der Compiler hätte Ihnen die gleiche Information in Form einer Warnung gegeben, wenn Sie versucht haben, einen Testcode zu kompilieren. – AnArrayOfFunctions

+0

Wenn Sie [die Hinweise in dieser Referenz] (http://en.cppreference.com/w/c/language/function_definition#Notes) lesen, wird Ihnen mitgeteilt, dass der Rückgabetyp im C89-Standard (und früher) optional war. –

Antwort

3

Sie müssen den Rückgabetyp in beiden angeben, und die Rückgabetypen müssen übereinstimmen.

Als besonderen Fall, in früheren Versionen von C konnten Sie den Rückgabetyp weglassen, wenn es int war, aber das ist nicht mehr erlaubt (ab C99).