当前位置:  技术问答>linux和unix

invalid conversion from `int (*)(int)' to `void (*)(int)',这个怎么转换

    来源: 互联网  发布时间:2016-03-19

    本文导语:  #include  #include  #include  #include  int catch1(int sig); int main(void) { signal(SIGINT, catch1); /* 将SIGINT 信号与catch 函数关联 */ printf("xixin"); sleep(10); printf("endn"); return 0; } int catch1(int sig) { printf("Catch succeed!n"); } [root@zoux...

#include 
#include 
#include 
#include 

int catch1(int sig);
int main(void)
{
signal(SIGINT, catch1); /* 将SIGINT 信号与catch 函数关联 */
printf("xixin");
sleep(10);
printf("endn");
return 0;
}

int catch1(int sig)
{

printf("Catch succeed!n");

}

[root@zouxd network]# make
gcc page532.cpp -o page532
page532.cpp: In function `int main()':
page532.cpp:9: invalid conversion from `int (*)(int)' to `void (*)(int)'
make: *** [page532] Error 1
[root@zouxd network]# 

|
不是如何转换的问题
而是函数返回值类型错了

|

int   catch1(int   sig); 
void catch1(int sig);


--------------------------------------------------,
int   catch1(int   sig)
{

printf("Catch   succeed!n");




void  catch1(int   sig)
{

printf("Catch   succeed!n");


|
#include 

void (*signal(int signo, void (*func)(int)))(int);

信号处理函数的原型:
void (*func)(int);

|
也可强制转换:
signal (SIGINT, (void (*)(int))catch1);

或者可读性好一些的:
typedef void (*func_t)(int);
...
signal (SIGINT, (func_t)catch1);

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing类defaultlistcellrenderer的类成员方法: invalidate定义及介绍
  • 求救invalid lvalue in assignment用gcc编译
  • java命名空间javax.net.ssl接口sslsession的类成员方法: invalidate定义及介绍
  • invalid user 'bin' ???????
  • java命名空间javax.swing.tree类defaulttreecellrenderer的类成员方法: invalidate定义及介绍
  • 遭遇Caught signal 11(at 0x.., invalid address)错误
  • java命名空间javax.swing.table类defaulttablecellrenderer的类成员方法: invalidate定义及介绍
  • Error: suffix or operands invalid for `mov'
  • java命名空间java.awt类component的类成员方法: invalidate定义及介绍
  • EILSEQ:Invalid or incomplete multibyte or wide character
  • java命名空间java.sql枚举clientinfostatus的类成员方法: reason_value_invalid定义及介绍
  • 动态库dlopen时候:ELF file OS ABI invalid
  • java命名空间java.awt类container的类成员方法: invalidate定义及介绍
  • munmap_chunk(): invalid pointer
  • java命名空间java.awt类polygon的类成员方法: invalidate定义及介绍
  • javax.servlet.ServletException: [Microsoft][ODBC Driver Manager] Invalid cursor state是什么错!
  • java命名空间javax.accessibility类accessiblecontext的类成员方法: accessible_invalidate_children定义及介绍
  • socket创建失败,返回系统错误码84,invalid or incomplete multibyte or wide character
  • 各位大虾:配好cvs服务器后,telnet ,结果提示:cvs invalid option --o,然后连接被关闭,怎么回事?
  • redhat下的编译错误:invalide takon expressions
  • session.invalidate()的作用 ?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3