Function Pointer + Strange Compiler Warning

C

codefritz

Grünschnabel
Moechte die Adresse einer Fkt an eine andere Fkt weiterreichen, und zwar ueber eine Fkt hinaus.
Funktioniert soweit, aber ich wundere mich ueber das unten dargestellte Compiler warning!

Code:
#include <stdio.h>

int fkt1( int (*fktpointer)(int) ){
puts("fkt 1");
fkt2(fktpointer);
return 0;
}

int fkt2( int (*fktpointer)(int) ){
puts("fkt 2");
fktpointer(3);
return 0;
}

int fkt3(int arg){
puts("fkt3 yeah");
return 0;
}

int main(void){
fkt1(fkt3);
return 0;
}
gcc -Wall fctpoiter.c -o fct
fctpoiter.c: In Funktion »fkt1«:
fctpoiter.c:5: Warnung: implicit declaration of function `fkt2'
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ok, gerade selbst geloest.
Die vorwaertsdeklaration der fkt2 hat gefehelt, also einfach
int fkt2( int (*fktpointer)(int) );
vorausgestellt.

Trotzdem danke und sorry fuer den unnoetigen Traffic.
 
Zuletzt bearbeitet:
Du rufst fkt2 auf, bevor sie Deklariert wurde.

pack ...
Code:
int fkt1( int (*fktpointer)(int) );
int fkt2( int (*fktpointer)(int) );
int fkt3(int arg);
... vor die 1. Funktion und die Warnung ist weg

---
sorry, beitrag nicht zuende gelesen :D
 

Ähnliche Themen

Xubuntu - AVR32-linux crosscompile sqlite

Compiler-Problem

Compiler bricht mit Fehler ab

c++ syntax: iterator fuer struct in template Klasse

probleme beim kompilieren des kernel moduls

Zurück
Oben