return function pointer [solved]
-
hallo,
kann mir jmd. sagen, wie ich einen function pointer aus einer function returnen kann?
also zB (funktioniert leider nicht)
void (*myFunc)(void) myFunctionGetter() { return &compatibleFunction; }
danke im voraus!
-
ok, habs selber rausgefunden:
void *getMyFunction()
funktioniert
-
hephaistos6 schrieb:
ok, habs selber rausgefunden:
void *getMyFunction()
funktioniertKann ich mir nicht vorstellen.
void(*myFunctionGetter())(void)
-
typedef (*myFunc)(void); myFunc myFunctionGetter() { return compatibleFunction; }
das brezel vor compatibleFunction kannst du auch weglassen.
theoretisch müßte auch
void (*)(void) myFunctionGetter() { return compatibleFunction; }
funktionieren (glaub ich zumindest). geht aber bei meinem vc++6 nicht.
-
hallo,
so hab ich das gemeint:
void *myFunctionGetter() { return &compatibleFunction; }
-
Jo, und das ist ja eben falsch. 'void*' ist zwar ein Typ, der alle Zeiger auf Datentypen aufnehmen kann, aber nicht unbedingt Funktionsadressen.
-
aha! krieg eh eine warning hab ich grad gesehen
werd jetzt dein bsp übernehmen...
thx
-
hephaistos6 schrieb:
aha! krieg eh eine warning hab ich grad gesehen
eben. in einen funktionszeiger konvertieren mußt du es am ende sowieso. und da hast du dann wieder das problem, wie du für den cast einen funktionszeiger-typ schreiben sollst.