这可能会被延迟,并且我已经搜索并尝试了很多解决方案,但是我总是遇到错误。无法通过函数指针执行类函数C++
class mainStateMachine;
typedef void (mainStateMachine::*StateProc)(EIndication input);
class mainStateMachine
{
public:
StateProc currentState;
int transition;
void rotateUntilBlobsFound (EIndication input);
void clarifyImage (EIndication input);
}
然后:
main()
{
int input=0;
StateProc BLA;
mainStateMachine mainMachine;
mainMachine.currentState=&mainStateMachine::rotateUntilBlobsFound;
BLA=mainMachine.currentState;
BLA(input);
}
由于某种原因,这并不工作,告诉我:“必须使用或‘ - >’叫指针到成员函数“BLA‘。’ (...)“,但即使我做* BLA(输入);它不起作用。 我真的不明白为什么这不起作用。
BLA需要一个指向实例的指针 – 4pie0
'mainMachine。* BLA'应该可以工作。 – Philipp
是的,这工作非常感谢,现在看起来很明显! – user3742604