Ich habe zwei Funktionen mit variabler Anzahl und Arten von ArgumentenFunktionszeiger auf verschiedene Funktionen mit unterschiedlichen Argumenten in C
double my_func_one(double x, double a, double b, double c) { return x + a + b + c }
double my_func_two(double x, double p[], double c) { return x + p[0] + p[1] + c }
Ich mag die Funktionen einen Zeiger auf eine Funktion verwenden, ich auf einem etwas über basierend definiert Bedingung wird wahr, z
Meine Frage ist, für dieses Szenario, kann ich überhaupt einen Funktionszeiger definieren? Wenn ja, wie?
Mein Verständnis ist, dass der Prototyp des Funktionszeigers für alle Funktionen identisch sein sollte, auf die er gezeigt werden kann.
typedef double (*pfunction)(int, int);
In meinem Fall sind sie nicht das Gleiche. Gibt es einen anderen Weg, dies zu tun?
Sprache
ich in C entwickle und ich bin mit gcc 4.4.3 Compiler/Linker
die Funktion Machen Sie einen 'void * Zeiger', und führen Sie dann die richtige Schublade gesteckt, wenn sie aufgerufen werden? Sie verlieren jedoch alle Arten von Typ-Sicherheit. –