void aaa();
void bbb();
void ccc();//都是类成员函数如何在ddd()中创建函数指针数组void *func[] = {...};比如*func[0]()就是执行aaa(),*func[1]()就是执行bbb(),etc...
////
typedef void (*Func)();
Func Common[3];
...做不下去了
void bbb();
void ccc();//都是类成员函数如何在ddd()中创建函数指针数组void *func[] = {...};比如*func[0]()就是执行aaa(),*func[1]()就是执行bbb(),etc...
////
typedef void (*Func)();
Func Common[3];
...做不下去了
解决方案 »
- 完成端口创建线程用CreateThread()还是用_beginthreadex()?
- 64位win7 运行32位dcom组件
- PS的HSL控制算法是什么,请教高手
- 怎么设置CSplitterWnd滚动条的滑块宽度/高度???
- 如何获取系统发出的关机消息
- 请教各位关于条码扫描枪的技术问题
- CSingleLock和waitforsingleobject有什么区别呢?
- 求<<Visual c++游戏开发技术与实例>> 一书的光盘源代码!谢谢了!
- ActiveX控件类的OnDraw()和OnPait()事件有何区别和联系啊?
- 请问‘硬盘保护卡’的原理是什么?????????
- 请问:warning C4101: 'md5_con' : unreferenced local variable警告是如果取消
- 求ActiveX控件生成的mfcflexgrid类函数的用法
typedef struct _CMD
{
PFNCMD pfncmd;
} CMD, *LPCMD; CMD _rgcmdMain[] =
{
aaa,
bbb,
ccc,
0 //end
}
使用_rgcmdMain[]索引
typedef void (yourclassname::*pFunc)(void); //全局地方定义......pFunc p[2];
p[0] = aaa;
......
即可。
{(pClass->*funcptr)(); };
void ddd()
{
Common[0]=aaa;
Common[1]=bbb;
Common[2]=ccc;
.....
}
即可
这样的话,楼主你的typedef语句就是错的,因为其中没包含类名,现在假设类名为myclass,
修改1:
typedef void (myclass::*Func)();
修改2:
void ddd()
{
Common[0]=myclass::aaa;
Common[1]=myclass::bbb;
Common[2]=myclass::ccc;
.....
}
即可
这里的前提条件当然是那三个函数是类的公有成员.