a parameter list without types is only allowed in a function definition? int fib(n);?

2 Antworten

Oben hast du geschrieben int fib(n), unten schreibst du int fib(int n); Bei der Funktionsdeklaration (Ankündigung der Funktion fehlt das int).

Woher ich das weiß:Berufserfahrung – Programmierer
tsanemo 
Fragesteller
 22.10.2019, 16:19

also entweder nur fib(n) oder fib(int n) eins von beiden muss ich ändern

1
Suboptimierer  22.10.2019, 16:20
@tsanemo

Nein, korrekt müsste sein

int fib( int n );

Die Funktion nimmt einen Integer auf und gibt einen zurück.
Unten steht es wie gesagt richtig, nur nicht zwischen #include... und int main.

1
tsanemo 
Fragesteller
 22.10.2019, 16:20
@Suboptimierer

Heisst oben und unten int fib (int n);

sry blutiger anfänger

1
tsanemo 
Fragesteller
 22.10.2019, 16:21
@Suboptimierer

Oke dann danke ich schonmal fürs erste für diese schnelle Antwort :)

1
gogogo  22.10.2019, 16:29
@tsanemo

Am besten beides gleichhalten:

int fib( int n ), oben mit gefolgtem Semikolon.

0

Du hast die Typen bei der Deklaration weggelassen, bei der Definition wiederum geht das.

int fib(int);
int fib(int n){...} /*legal*/

int fib();
int fib(int n){....} /*dito*/

int fib();
int fib(n){...} /*dito*/

Wenn Du Dir selbst und anderen einen Gefallen tun möchtest, hälst Du Prototypendeklaration und Definition konsistent.