這可能會被延遲,並且我已經搜索並嘗試了很多解決方案,但是我總是遇到錯誤。無法通過函數指針執行類函數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