| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1642 人关注过本帖
标题:typedef(*funtype)(int x);定义问题请高手回答
只看楼主 加入收藏
scorpionchac
Rank: 1
等 级:新手上路
帖 子:34
专家分:6
注 册:2015-10-20
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:4 
typedef(*funtype)(int x);定义问题请高手回答
#include<stdio.h>
void myfun1(int x);
void myfun2(int x);
void myfun3(int x);
typedef(*funtype)(int x);//好像只能在C++中调试通过?????
void callmyfun(funtype fp,int x);
int main(int argc,char*argv[])
{
    callmyfun(myfun1,10);
    callmyfun(myfun2,20);
    callmyfun(myfun3,30);
    }
 void callmyfun(funtype fp,int x)
 {
     fp(x);
 }
 void myfun1(int x)
 {
     printf("函数myfun1输出:%dn",x);
 }
 void myfun2(int x)
 {
     printf("函数myfun2输出:%dn",x);
 }
 void myfun3(int x)
 {
     printf("函数myfun3输出:%dn",x);
 }
typedef(*funtype)(int x)这一句是不是在C_free中不能定义啊?显示[Error] G:\Program Files (x86)\C-Free 5\mingw\include\指针引用.cpp:5: error: ISO C++ forbids declaration of `funtype' with no type请高手回答?
搜索更多相关主题的帖子: include 
2015-12-21 20:16
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:10 
只是不支持默认int,要指明“函数指针”函数的类型,在vs2010下修改typedef语句如下,通过编译:typedef void (*funtype)(int);

能编个毛线衣吗?
2015-12-21 20:41
scorpionchac
Rank: 1
等 级:新手上路
帖 子:34
专家分:6
注 册:2015-10-20
收藏
得分:0 
C-free好像不行啊!!在c-free下盖怎么搞啊

小菜鸟
2015-12-21 21:01
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
没有c-free,我下述代码在vc6和vs2010下均编译通过:
程序代码:
#include<stdio.h>
void myfun1(int x);
void myfun2(int x);
void myfun3(int x);
typedef void (*funtype)(int);//好像只能在C++中调试通过?????
void callmyfun(funtype fp,int x);
int main(int argc,char*argv[])
{
    callmyfun(myfun1,10);
    callmyfun(myfun2,20);
    callmyfun(myfun3,30);
    return 0;
}
void callmyfun(funtype fp,int x)
{
     fp(x);
}
void myfun1(int x)
{
     printf("函数myfun1输出:%d\n",x);
}
void myfun2(int x)
{
     printf("函数myfun2输出:%d\n",x);
}
void myfun3(int x)
{
     printf("函数myfun3输出:%d\n",x);
}
运行效果如下:
图片附件: 游客没有浏览图片的权限,请 登录注册


能编个毛线衣吗?
2015-12-21 21:06
scorpionchac
Rank: 1
等 级:新手上路
帖 子:34
专家分:6
注 册:2015-10-20
收藏
得分:0 
呵呵??谢谢
typedef void (*funtype)(int);这句我忘了写void结果不能通过
谢谢指导

小菜鸟
2015-12-22 19:00
快速回复:typedef(*funtype)(int x);定义问题请高手回答
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030796 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved