我有一个像这样的 C++ 程序:
class KbdRptParser : public KeyboardReportParser
{
void PrintKey(uint8_t mod, uint8_t key);
protected:
virtual void OnControlKeysChanged(uint8_t before, uint8_t after);
virtual void OnKeyDown (uint8_t mod, uint8_t key);
virtual void OnKeyUp (uint8_t mod, uint8_t key);
virtual void OnKeyPressed(uint8_t key);
};
//ommitted stuff here
void KbdRptParser::OnKeyPressed(uint8_t key)
{
keypress(key);
};
void keypress(uint8_t key)
{
//do stuff...
}
//rest of program...
我希望能够从 KbdRptParser::OnKeyPressed
内部调用 keypress
,因为如果我将代码从 >keypress
到 KbdRptParser::OnKeyPressed
。我怎样才能做到这一点?
最佳答案
你只需要在
之前声明它void keypress(unit8_t key);
void KbdRptParser::OnKeyPressed(uint8_t 键) {
个人建议,遵循纯面向对象的方式,将keypress声明为类的静态函数,将全局变量声明为extern
关于C++从类内部调用类外部的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22624735/