/usr/include/signal.h:88:23: note: expected ‘__sighandler_t {aka void (*)(int)}’ but argument is of type ‘int (*)(void)’ extern __sighandler_t signal (int __sig, __sighandler_t __handler)
时间: 2024-04-08 07:29:39 浏览: 139
根据警告信息显示,`signal`函数的第二个的类型应该是`__sighandler_t,它是一个指向接受一个整型参数返回`void`的函数指针类型。而你提供的show`函数的类型是`int (*)(void)`,是一个指向接受参数并返回整型的函数的指针,这与`__sandler_t`不匹。
为了解决这个问题你需要将`show`的类型更改为合`__sighandler_t要求的类型。你将`show`函数的返回类型更为`void`,并其参数类型更改整型。例如:
```cvoid show(int signal_number // 函数体
}
```
这样做就与`__sighandler_t`类型匹配了,并且不会产生警告信息。请确保在调用`signal`函数时传递的参数类型与函数原型匹配,以避免类型不匹配的警告。
阅读全文