Funktionen an Funktionen weitergeben und aufrufen
-
Hallo,
Ich habe folgenden Code (nur ein Beispiel) der leider nicht funktioniert, ich denke wenn ihr ihn euch anschaut werdet ihr feststellen was ich erreichen will, aber könnt ihr mir sagen wie man es richtig macht:
#include <winsows.h> void Function2() { /* ... */ } void Function1(WNDPROC Function2) { Function2(); // Rufe 'Function2' auf und führe sie aus } /* Rest Code */
-
Wo hast du denn den Typ "WNDPROC" definiert? Wenn das der Standard-Typ der WinAPI ist, hat Function2() den falschen Typ dafür - WNDPROC ist ein Funktionszeiger auf eine "LRESULT CALLBACK WindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);".
-
Nagut aber wie kann man das dann erreichen, dass ich eine Funktion an eine Funktion weitergebe?
-
Diese Seite bietet eigentlich alle wichtigen Infos:
http://www.newty.de/fpt/index.htmlgruß
-
Funktionszeiger sind schon der richtige Weg - allerdings sollte da die Signatur passen:
typedef void (*fct)(); void Function1() { printf("Ich bin die erste Funktion!\n"); } void wrap_function(fct the_func) { the_func(); } int main() { wrap_function(Function1); }
-
Okay Danke
