原创 求助:在GCCAVR中C++的类成员函数如何定义函数指针数组

2007-1-13 20:02 5142 5 5 分类: MCU/ 嵌入式

http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=457319&bbs_page_no=2&bbs_id=1033


在GCCAVR一般的函数指针数组可以定义为:

typedef void (* PFV)(void);
PFV KeyCommandTab[] PROGMEM = {
  Key00,
  Key01,
  Key02,
  Key03,
  Key04,
};


prog_void (*KeyCommandTab[])(void) = {
  Key00,
  Key01,
  Key02,
  Key03,
  Key04,
};

调用函数可以为:
KeyCommandTab[0]();//调用Key00();
//...............................
KeyCommandTab[4]();//调用Key04();

其中: Key00(),..Key04()为普通的C函数.

如果它们为C++的Key类的成员函数,又该如何定义呢???
下列定义为何走不通???
prog_void (*KeyCommandTab[])(void) = {
  Key.Key00,
  Key.Key01,
  Key.Key02,
  Key.Key03,
  Key.Key04,
};

直接调用都没问题,如Key.Key00();
但想用散转(函数指针)就...难道类成员函数根本就不能用函数指针???

谢谢用过类成员函数指针的网友!!!

求助求助求助求助求助求助求助求助


一"雨"浇醒梦中人


本帖已结案,可以看我最近在21IC灌的水...我会陆续论证一些"道理"的...

求助后的总结报告


瞎搞就是硬道理(何必讲什么大道理)


欢迎造访HotPower的水潭

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /3 下一条