中调用一个函数(由静态指针引用)。 最近我面临挑战。不能说这是一个关键问题,而只是一个有趣的事情。 有SRC代码:需要从静态成员
class Data {
typedef void (Object::*CallBack)(void);
public:
Data() : m_callBack(NULL) {}
void setCallBack(CallBack ptr)
{
m_callBack = ptr;
}
void start()
{
Aux::someAction();
}
private:
static CallBack m_callBack;
class Aux{
public:
static someAction()
{
if(m_callBack)
{
// How to call function for this reference ? - m_callBack
}
}
}; // End of 'Aux' class
}; // End of 'Data' class
所以,我知道,我们可以从这样的指针调用函数:(此 - > * m_callBack)()。但静态类成员不能访问'this'指针。当然,我可以用m_callBack指针和call(parent - > * m_callBack)()来存储父指针。在同样的情况下,它可能不太好。 所以,我的问题:是否有任何其他方法从静态类成员调用m_callBack函数。此外,我很有趣 - 如果m_callBack引用静态或非静态函数的类成员。
是的。是个好主意。 –