SQLite callback



  • Ich hab ein Problem. Und zwar habe ich in einer Klasse eine private callback Funktion.

    int selectCallback(void *, int, char **, char **);
    

    Diese will ich jetzt in einer public Funktion derselben Klasse verwenden, aber GCC meldet mir immer folgendes:

    error: argument of type 'int (JBDatabase::)(void*, int, char**, char**)' does not match 'int (*)(void*, int, char**, char**)'
    

    Was mach ich falsch?

    PS: Aufgerufen wird die callbackfuntion so:

    rc = sqlite3_exec(database, "SELECT * FROM \”test\”;", selectCallback, 0, &errorMessage);
    


  • Die Callback-Funktion darf keine Methode sein, d.h. sie muss entweder static oder freistehend sein.

    (Strenggenommen müsste sie sogar freistehend und extern "C" sein)

    BTW: Mit dieser Frage hättest Du im C++-Forum wahrscheinlich mehr Erfolg erzielt 😉


Anmelden zum Antworten