When declaring a functions which takes function pointer as argument as mentioned below the compiler throws error.
void func_dec(int x, void(*)() funcptr);
Whereas it accepts below declaration,
void func_dec(int x, void(*funcptr)());
Why the compiler could not recognize the former declaration though it looks logical.
This is because,
is in invalid syntax on it's own.
Just supply the type while writing the function declaration,
it should be enough. Otherwise, if you want to specify the variable name also, write