einen speziellen Funktionspointer über eine Funktion zuweisen
-
Hallo c-community,
ich möchte eine Funktion über eine Zuweisungsfunktion festlegen.
Zur näheren Erläuterung: Ich habe ein Struct mit einer Funktion definiert.typedef struct{ int (*Testfunktion)(int Übergabeparameter1, int Übergabeparameter2); }tStruct, *pStruct;
Dieser Funktion möchte ich dynamisch unterschiedliche Funktionen (z.B. Addition oder Subtraktion) zuordnen. Ich weiß ich kann es über void* realisieren:
void Zuweisungsfunktion(pStruct Struktur, void* Funktion){ Struktur->Testfunktion = Funktion; }
Hat aber den Nachteil, dass jede Form von Funktionen zugewiesen werden können ohne dass der Compiler einen Unterschied/ Fehler festellen kann.
Wie kann ich dies spezifischer definieren?
MfG
mirrowwinger
-
Warum denn void* statt int (*)(int,int) wenn Du Typsicherheit möchtest?