이것은 지연 될 수 있으며 많은 솔루션을 검색하여 시도했지만 항상 오류가 발생합니다. '. 를'다음함수 포인터를 통해 클래스 함수를 실행할 수 없습니다. C++
class mainStateMachine;
typedef void (mainStateMachine::*StateProc)(EIndication input);
class mainStateMachine
{
public:
StateProc currentState;
int transition;
void rotateUntilBlobsFound (EIndication input);
void clarifyImage (EIndication input);
}
그리고 - BLA '에 포인터 - 투 - 멤버 함수를 호출'>을 '어떤 이유로
main()
{
int input=0;
StateProc BLA;
mainStateMachine mainMachine;
mainMachine.currentState=&mainStateMachine::rotateUntilBlobsFound;
BLA=mainMachine.currentState;
BLA(input);
}
이 나던 작품은, "사용하거나해야한다 하더군요 (...) "하지만 내가 할 때라도 * BLA (입력); 작동하지 않습니다. 이것이 작동하지 않는 이유를 정말로 이해하지 못합니다.
BLA는 인스턴스에 대한 포인터가 필요합니다. – 4pie0
'mainMachine. * BLA'가 작동해야합니다. – Philipp
그래, 그 덕분에 많이 일 했어, 지금은 분명해 보인다! – user3742604