Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 头文件中的编译时错误_C_Compiler Errors - Fatal编程技术网

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;

您是否仔细阅读了的文档?请多读一读,并养成阅读您使用的每个函数的文档的习惯。您是否尝试过按照错误消息的指示执行操作?