men jag vill att callback funktionen ska vara en klass funktion, dvs en funktion som hör hemma i klassen CallBackTest. Jag har försökt på lite olika sätt men ännu inte lyckats.
Såhär ser imlementationen av callback funktionen ut
[B][i]sndserver.h[/i][/B]
int mp3_status_callback(void (*callback)(int status));
[B][I]sndmp3.c[/I][/B]
static void* (*status_callback)(int status)=NULL;
/* Set the callback function for status updates */
int mp3_status_callback(void (*callback)(int))
{
status_callback=callback;
return 0;
}
Funkar det inte om du anger en statisk medlemsfunktion som callback? Icke-statiska medlemsfunktioner har en "this"-pekare som en dold inparameter vilket gör att funktionens signatur inte blir den förväntade.
Du hittar ganska mycket om problemet i fall du söker på "callback function class member" på Google. Det går säkert att trixa sig runt också om man verkligen behöver.
Hade glömt att lägga till en parameter i i funktionen... Hade det i min icke medlems funktion som fungerade men inte i den som jag la in i klassen. Men nu fungerar allt som det ska :)
Tack för hjälpen ändå, den sök strängen som du gav ger mycket mer resultat en den som jag försökte med "callback c++"
/Viktor
134 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17