C 头文件中的编译时错误
错误源代码C 头文件中的编译时错误,c,compiler-errors,C,Compiler Errors,错误源代码 static int pthread_setcancelstate(int state, int *oldstate) { sigset_t new, old; int ret; sigemptyset (&new); sigaddset (&new, SIG_CANCEL_SIGNAL); ret = pthread_sigmask(state == PTHREAD_CANCEL_ENABLE ? SIG_BLOCK :
static int pthread_setcancelstate(int state, int *oldstate) {
sigset_t new, old;
int ret;
sigemptyset (&new);
sigaddset (&new, SIG_CANCEL_SIGNAL);
ret = pthread_sigmask(state == PTHREAD_CANCEL_ENABLE ? SIG_BLOCK : SIG_UNBLOCK, &new , &old);
if(oldstate != NULL)
{
*oldstate = sigismember(old,SIG_CANCEL_SIGNAL) == 0 ? PTHREAD_CANCEL_DISABLE : PTHREAD_CANCEL_ENABLE;
}
return ret;
}
错误:将'sigset\u t'传递给的参数
不兼容类型“const sigset_t*”;记下地址
带有&…=sigismember(旧,SIG…
我正在编译一个程序,但上面的错误正在生成
我正在学习c,但是我被上面的错误卡住了。由于错误,您需要将旧As参数的地址传递给函数
sigismember
,如下所示:
*oldstate = (int *) sigismember(&old,SIG_CANCEL_SIGNAL) == 0 ? \
PTHREAD_CANCEL_DISABLE : PTHREAD_CANCEL_ENABLE;
您是否仔细阅读了的文档?请多读一读,并养成阅读您使用的每个函数的文档的习惯。您是否尝试过按照错误消息的指示执行操作?