Pointer auf Klasse -> Problem



  • Hi. Ich hab ein kleines Problem mit einer Compiler-Fehlermeldung, welche ich absolut nicht verstehe:
    Ich habe eine Klasse cDXApplication.
    Dort ist jede Menge zeug drinnen. Unter anderem auch ein Pointer auf eine Prozedur:

    //...
      void (*KeyDown) (int);
    //...
    

    Zudem hab ich einen Pointer drauf

    cDXApplication* Appl;
    

    wenn ich aber nun schreibe

    Appl->(*KeyDown)(0);
    

    bringt mir der Compiler folgende Fehlermeldung:

    Appl ist kein Element von cDXApplication

    Und den Fehler versteh ich absolut nicht, und krieg ihn auch nicht weg!



  • Versuchs mal mit

    Appl->Keydown(0);
    


  • Wenn KeyDown ein Pointer auf eine Member-Funktion sein soll, dann ist die Definition falsch, damit definiert du lediglich einen Zeiger auf eine statische Funktion:

    void (cDXApplication::* KeyDown) (int);
    (Appl->*KeyDown)(0);
    

Anmelden zum Antworten