Frage zu TemplateFunktionen und Methodenzeigern



  • Also wenn ich sowas hier mach

    template <class TClass> void
    MSymBaseCallback::RegisterCallbackMethod (
    TClass *tc, TClass::*_fpt( void )
    )
    {

    ....
    }

    da kommt dann folgende Fehler beim kompilieren
    Funktionsueberladung kann nicht aufgeloest werden
    Fehler beim Ausführen von cl.exe.

    hintergrund ist, dass ich eine TemplateKlasse für Methodenzeiger und deren Auführung hab ala function-pointers.org und ich mir eigentlich auf diese Art eine Callbackroutine im Nachhinhein in einer klasse registrieren möcht.



  • Müßte das nicht so geschrieben werden:

    template <class TClass>
    void MSymBaseCallback::RegisterCallbackMethod(TClass *tc, int (TClass::*_fpt)(void))
    

    Ich habe dabei mal angenommen, daß Deine Methode int zurückliefert.



  • so habs nu hingekriegt, habs jetzt ein bischen anders gemacht ... aber nur brauch ich für Callbacks keine statischen methoden mehr ;o)


Anmelden zum Antworten