In <signal.h> there are definition of following:
#define SIG_ERR (void (*)())-1
#define SIG_DFL (void (*)())0
#define SIG_IGN (void (*)())1
I think void (*)() means it's a function pointer that return type is void and parameter is void(because there is empty between parenthesis).
But in signal() function, the second argument type is void (*func)(int).
Then, why the definition above three things are void (*)(). And, also, what means the number -1 0 1 in the definition?
How can I interpret these definitions?