(C++) Überladene Funktionspointer?
-
ich habe 2 Funktionen
int test1(int a)
und
int test2(double a, double b)
kann man den gleichen Funktionspointer zuerst auf test1 und später auf test2 setzen und dann die Funktion aufrufen?
Wenn ja, kann mir das jemand zeigen wie das geht?
Mich interessiet einfach ob das möglich ist...
-
Würde mich jetzt auch mal interessieren. Den funcpoin auf die jeweilige Funktion mit unterschiedlichen Parametern zu setzen dürfte IMHO nicht gehen...
Hm, wie wär's ohne Funktionszeiger in der Art:int test(char *func, double a, double b){ if(*func=="test1") return test1((int)a); else if(*func=="test2") return test2(double a, double b); else return -1; }
Hab's jetzt nicht getestet, aber wenn du test(test1, (double)a, b) oder test(test2, a, b) aufrufst, dann dürfte es so eigentlich funktionieren. Du könntest in diesem Fall natürlich auch eine Funktion test(char *func, ...) als Ellipsen-Prototypen mit variabler Parameterliste deklarieren, aber um auf den ursprünglichen Funktionszeiger nochmal zu sprechen zu kommen -- leider keine Ahnung