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

种非静态函数指针传递调用

2013-01-21 
类非静态函数指针传递调用26行的错误,怎么解决?不能改CallFunc这个类的结构。最好只改call1.#include stdi

类非静态函数指针传递调用
26行的错误,怎么解决?
不能改CallFunc这个类的结构。
最好只改call1.

#include <stdio.h>
class CallFunc;
typedef void (CallFunc::*FP)(int x);

class CallFunc
{
public:
void set(FP fp)
{
m_fp = fp;
//(this->*fp)(5);
}
void show(int x)
{
printf("x = %d\n", x);
}

FP m_fp;
};

CallFunc g_ss;

void call1()
{
g_ss.set(&CallFunc::show);
g_ss.m_fp(5);
}

void main()
{
call1();
}

[解决办法]

(g_ss.*(g_ss.m_fp))(5);

热点排行