linux下关于signal(SIGUSR1,sig_usr)==SIG_ERR的错误如何解决?

error: invalid conversion from ‘void (*)()’ to ‘void (*)(int)’error: initializing argument 2 of ‘void (* signal(int, void (*)(int)))(int)’
2026年09月28日 18:03
有1个网友回答
网友(1):

SIG_ERR它表示一个函数指针,如果不出错的话,signal()会返回以前的信号处理函数的地址。
你的SIGUSER1定义了吗?默认的话,系统没有这一个信号
SIG_ERR是这样定义的
#define SIG_ERR (void (*) () ) -1