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?


Anmelden zum Antworten