There is a way to do this. But it's a bit complicated. (well not really, rather far fetched)
the callback function in the class should be declared static. This is because normal functions also have to know which class there in (this variable). But static functions do not. Then if you still want to be able to acces data in the calling class, you have to give an extra parameter: the this var of the class.
So you'll have something like this:
call callBack.enumFnc() to print 0 to 9.
void callEnum(void (*fnc)(void *, int), void * user)
for (int i=0; i<10; i++)
static void fnc(void *, int);
void callBack::fnc(void * pntr, int val)
void callBack::fncThis(int val)