i defined my Function pointer with a typedef like
typedef void (*ThreadFunc)( void *);
my Class member method looks like :
void start( ThreadFunc f, vector<void *> &jobs)
in my main program i wrote a function like :
ThreadFunc runner( void *job )
{
printf("->> %p\n", job);
};
and want to run the member function
so i tried:
r.start( runner, jobs);
the compiler says:
main.cc:27: Fehler: ungültige Umwandlung von »void (* (*)(void*))(void*)« in »void (*)(void*)«
main.cc:27: Fehler: Argument 1 von »void Thread::start(void (*)(void*), std::vector<void*, std::allocator<void*> >&)« wird initialisiert
Hope someone could help me short 🙂 greetz
runnerneeds to be declared returningvoid, not returningThreadFuncto match the signature forstart.