Funktionspointer



  • Hallo,

    ich hab mal wieder eins dieser ganz seltsamen Probleme: Ich habe in einem Projekt einen Funktionspointer definiert, etwa so:

    typedef VOID (*PF_STDCALLBACK)(BYTE, DWORD, PCHAR);

    Im BCB4 kompiliert das Projekt problemlos, im BCB6 kommt ein Syntaxfehler " ',' erwartet. " und zwar nach "VOID ("
    Darf man das nicht mehr so schreiben, was hat sich da geändert?



  • hm,

    versuchs mal so:

    typedef void __fastcall (__closure *PF_STDCALLBACKPF_STDCALLBACK)(BYTE, DWORD, PCHAR);
    

    und dann:

    void __fastcall Klasse:Methode(BYTE Wert1, DWORD Wert2, PCHAR Wert3)
    {
    // irgendwas
    }
    

    v



  • Hmmmm, das gibt zwar keine Fehler mehr, aber Warnung:
    W8054 Style of function definition is now obsolete

    ich weiß schon, was dies bedeutet, aber warum das hier auftritt???



  • auch, wenn ich das reduziere auf

    typedef void (*PF_STDCALLBACK)(BYTE, DWORD, PCHAR);
    

    schreib ich aber

    typedef VOID (*PF_STDCALLBACK)(BYTE, DWORD, PCHAR);
    

    tritt der fehler wieder auf....


Log in to reply