结构提示不完全错误

尽管包括<signal.h>我,但我得到一个错误,说那struct sigaction是不完整的类型。

我不知道该怎么办。

请帮忙

#include <signal.h>

struct sigaction act;

int main(int argc, char** argv)

{

int depth;

/* validate arguments number*/

if(argc < 2)

{

printf("fatal error: please use arguments <MaxChild> <MaxDepth>\n");

exit(1);

}

/* register the realtime signal handler for sigchld*/

/*173*/

memset(&act,0,sizeof(act));

act.sa_handler = sigproc;

sigaction(SIGCHLD, /* signal number whose action will be changed */

&act, /* new action to do when SIGCHLD arrives*/

NULL); /* old action - not stored */

srand(time(NULL));

depth = rand() % atoi(argv[2]); /* [0 maxDepth]*/

RecursiveFunc(atoi(argv[1]), depth);

return 0;

}

错误消息:

proc.c: In function ‘main’:

proc.c:173:22: error: invalid application of ‘sizeof’ to incomplete type ‘struct sigaction’

proc.c:174:2: error: invalid use of undefined type ‘struct sigaction’

cc1: warnings being treated as errors

proc.c:175:2: error: implicit declaration of function ‘sigaction’

回答:

只是

#define _XOPEN_SOURCE 700

在代码中的任何其他行之前,或使用-D定义定义预处理程序符号的选项进行编译

gcc ... -D_XOPEN_SOURCE=700 ...

以上是 结构提示不完全错误 的全部内容, 来源链接: utcz.com/qa/399579.html

回到顶部