成员函数指针-----C++小问题

cxiaobao 2000-12-12 02:20:00
int v1,v2,v3;
class simple
{
public:
static void sum();
};
void simple::sum()
{
v1=v2+v3;
}
void main()
{
void simple::(*fp)()=simple::sum; //???????Error!!! why?
simple s;
(*fp)();
}
...全文
171 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
happylaodu 2000-12-12
  • 打赏
  • 举报
回复
啊呀,试了一下,才知道我的方法简直就是扯蛋:
要不你再这样:
void simple::(*fp)()=&simple::sum;
happylaodu 2000-12-12
  • 打赏
  • 举报
回复
没做过这种程序,不过我瞎想了一个方法,你试试:

main()
{
simple s;
void *fp()=s.sum;
……
}
cxiaobao 2000-12-12
  • 打赏
  • 举报
回复
谢谢,请问一下,指向类成员数据的指针和指向类成员函数的指针为什么定义是不同形式?
psy 2000-12-12
  • 打赏
  • 举报
回复
#include <iostream.h>
int v1,v2,v3;
class simple
{
public:
static void sum();
};
void simple::sum()
{
v1=v2=v3=1;
v1=v2+v3;
cout << v1;
}
void main()
{
void (*fp)()=simple::sum;
simple s;
(fp)();
}

69,369

社区成员

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

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