Замените void *disconnectFunc;
на void (*disconnectFunc)();
, чтобы объявить переменную типа указателя на функцию. Или еще лучше использовать typedef
:
typedef void (*func_t)(); // pointer to function with no args and void return
...
func_t fptr; // variable of pointer to function
...
void D::setDisconnectFunc( func_t func )
{
fptr = func;
}
void D::disconnected()
{
fptr();
connected = false;
}