typedef做为函数指针该如何使用??

AeoLusFeng 2002-02-08 06:57:15
请各位帮忙,这里有这样一段程序,但我一直不太明白:
type void function();
function* vtbl[2] = {a,b};
哪里有比较详细的文章讲解这个东东,谢谢!!!
...全文
28 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragondwy 2002-02-09
  • 打赏
  • 举报
回复
这是用C的函数指针实现函数数组,你写错了。
  • 打赏
  • 举报
回复
但C++中有不信各位可以试一下。
flyonsea 2002-02-08
  • 打赏
  • 举报
回复
是啊!有这样的写法么?type void function();
我还没见过呢!
guduker 2002-02-08
  • 打赏
  • 举报
回复
我想:这两句是定义一个指针数组,数组中的元素是指向两个返回类型为VOID的函数
  • 打赏
  • 举报
回复
不好意思前面写错了你写的是正确的.
这段程序的意思是,vtbl是一个涵数指针数组他树组包含了两个涵数指针这两个涵数的原形为:
void a();
void b();
guduker 2002-02-08
  • 打赏
  • 举报
回复
你的书错误还是你的笔误呀!!
C中应该没有type void function();
这种用法!
  • 打赏
  • 举报
回复
不好意思前面写错了你写的是正确的.
这段程序的意思是,vtbl是一个涵数指针数组他树组包含了两个涵数指针这两个涵数的原形为:
void a();
void b();
  • 打赏
  • 举报
回复
你是不是写错了.
应该是
typedef void(*function)();
表示返回类型为void ,参数为空.
tokens 2002-02-08
  • 打赏
  • 举报
回复
这是定义了一个函数类型,类型返回值为void(即无返回值)。。。就可以象int等一样用来声明变量了。

比如 typedef bool BOOLEAN
你在windows下常用到BOOLEAN,它就是一个类型了。
AeoLusFeng 2002-02-08
  • 打赏
  • 举报
回复
不好意思,各位,的确是我写错了...丢脸啊,昨天晚上迷糊了。呵呵
非常感谢各位的回复...我明白了!
foolyz 2002-02-08
  • 打赏
  • 举报
回复
heimeng 的我同意!
SlaSk 2002-02-08
  • 打赏
  • 举报
回复
其实就是一个指向函数的指针(数组),例如:
#include <iostream>
using namespace std;
void a(void)
{
cout<<"in a"<<endl;
}
void b(void)
{
cout<<"in b"<<endl;
}
void c(void)
{
cout<<"in c"<<endl;
}
void *ca(void);

void main(void)
{
void (*ca)(void);
*ca=&a;
ca();
*ca=&b;
ca();
*ca=&c;
ca();
}
heimeng 2002-02-08
  • 打赏
  • 举报
回复
typedef void(*FUNC)(void);

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧