我想将回调转发给函数指针。所以我声明了一个静态(int*) m_pointer1,以及一个方法void RegisterCallback1((int*)fct)
在 class1.h 中:
public:
int RegisterCallback1( int (*fct) );
private:
static int (*m_Callback1);
在 class1.cpp 中:
int class1::RegisterCallback1( int (*fct) )
{
m_Callback1= fct;
}
然后,我想将回调转发给函数指针:
void class1::Callback1()
{
(*m_Callback1)();
}
但是我得到一个编译器错误“表达式必须具有(指向)-函数类型我遵循教程并阅读了函数指针,他们似乎这样做没有任何问题。任何想法为什么?
编辑:所以,我声明 (int*)(void)m_Callback1 -Visual Studio 需要一个 void ...- 那么如何使用参数调用 registerCallback 函数?
class1.RegisterCallBack1( ??? - class2::callback -??? );