signal.c:22:13: warning: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types] signal(12,show);
时间: 2024-04-07 07:33:53 浏览: 79
mpich2-1.3.2p1-win-ia32.zip_mpich2_mpich2-1.4_site:www.pudn.com
这个警告是因为你在调用 `signal` 函数时,第二个参数的指针类型与函数期望的类型不兼容。根据警告信息来看,你传递的参数类型应该是不匹配的。
在 C 语言中,`signal` 函数用于注册信号处理函数,其原型如下:
```c
void (*signal(int sig, void (*func)(int)))(int);
```
其中,第二个参数 `func` 是一个函数指针,指向一个接受一个整型参数并且返回 `void` 的函数。根据警告信息,你传递的 `show` 参数的类型与这个要求不匹配。
要解决这个问题,你需要确保传递给 `signal` 函数的参数类型与函数期望的类型匹配。请检查函数 `show` 的定义,确保它的参数类型为 `int`,并且返回类型为 `void`。如果需要,你可能需要对 `show` 函数进行适当的类型转换。
阅读全文