As we know a parameter that looks like void() will be rewritten as void(*)(). This is similar to array-to-pointer decay where int[] be
void()
void(*)()
int[]
yes they are both pointers, first is a function pointer, second is a pointer to a block of ints. * looks like a point.