首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于结构体中的指向函数的指针解决方案

2012-03-19 
关于结构体中的指向函数的指针我希望在一个结构体中定义一个指向函数的指针,使在程序中能够对该指针赋值并

关于结构体中的指向函数的指针
我希望在一个结构体中定义一个指向函数的指针,使在程序中能够对该指针赋值并调用相应的函数,不知道能不能实现,怎样实现?
struct   a
{
void   pFunction();//pFunction为指向函数的指针
struct   a   *Next;
}b;
void   fun1()
{
printf( "OK ");
}
void   main()
{
b.pFunction=fun1;//对指向函数的指针赋值
b.pFunction;//调用指定的函数;
}
(上面的代码只是为了说明我的意思,不能运行,像上面这样定义程序会认为pFunction是一个方法,而不是变量。)

[解决办法]
struct A
{
typedef void (*ptrtofun)();
ptrtofun ptf;
A *next;
}

void fun()
{
printf( "ok,fun ");
}

int main()
{
struct A a;
a.ptf = &fun;
*a.ptf();
return 0;
}

热点排行