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条评论)
登录后参与讨论