I am having a problem casting a void* into a function address:


void Attempt(void* fun){
void (*function)(void) = ????;
function();
}


I've tried:

void (*function)(void) = ((void)(*)(void))fun;

and even:

void (*function)(void) = ((void)(*fun)(void));

...among others....