关于函数指针的问题,(200分)

E

emildy

Unregistered / Unconfirmed
GUEST, unregistred user!
我定义一个struct:
struct INFO{
int id;
void *param;
void (*function1)();
//函数指针
void (*function2)();
//函数指针
void (*function3)();
//函数指针
};
这里应该没有问题吧,
问题是在我给这个结构赋值的时候出错了:
INFO i = {1,(void*)pp,Function1,Function2,Function3};
<=这里这么写是错误的,请问正确的用法
谢谢
 
对不起,我比较菜,请问
INFO i = {1,(void*)pp,Function1,Function2,Function3};
是什么赋值?
 
应该是声明一个实例吧,我没表达好!?
 
代码不全,报什么错?
给个例子你参考:
struct command_s
{
char* cmd_name;
void (*handler)(char*,int,int);
};
void test_cmd(char* c,int i,int j)
{
printf("%s/n",c);
}
void main()
{
struct command_s cmd={"cmd",test_cmd};
cmd.handler("hello world.",0,0);
}
 
INFO i = {1,(void*)pp,Function1,Function2,Function3};
中的Function1。。3应该是函数指针
 
INFO i = {1,(void*)pp,&amp;Function1,&amp;Function2,&amp;Function3};试试
 
to zw84611:
如果是全局函数,那没有问题,
函数指针怎么指向一个类的成员函数呢?
 
多人接受答案了。
 
顶部