Pointer auf Funktion mit Pointer als Returnvalue



  • Hi,

    ich kämpfe gerade mit Funktionspointern, die ich mir holen muss, um auf DLL-Funktionen zugreifen zu können.

    Konkret: Es gibt in besagter DLL eine Funktion

    extern char    *ogg_sync_buffer(ogg_sync_state *oy, long size);
    

    Diese hat einen Pointer als Rückgabewert. Hier gerat ich nun in Schwierigkeiten: wie muss ich den Funktionspointer definieren, damit mir dieser Returnwert trotzdem erhalten bleibt?

    typedef char (*dll_ogg_sync_buffer)(ogg_sync_state*,long);
    

    liefert mir eine Warnung (Nonportable pointer conversion) und

    typedef char (**dll_ogg_sync_buffer)(ogg_sync_state*,long);
    

    führt zu einem Fehler (Call of nonfunction). Watt nu?



  • vielleicht solltest du einen Stern...vor die Klammer ziehen?



  • char *(*foo)(blahblah)
    

Anmelden zum Antworten