
Hi, I am having problems with my transition table and events. Let me explain the fake design that illustrates the problem: I have a state machine (myStateMachine) containing 2 states (s0 and s1) and 1 substatemachine (subm1). the substatemachine subm1 contains an initial state 'sub0' and also s1 (the same state as in myStateMachine). this is the main transition table: s0->s1 on event 'ES1' s0->s2 on event 'ES2' s0->subm1 on event 'ESUB' this is the submachine transition table: sub0->s1 on event ES1 now, assume that state s1 is using the event that triggered it to extract some information i.e. struct s1 : public msm::front::state<> { template <class Event,class FSM> void on_entry(Event const& evt,FSM& fsm) { evt.getEventData(); } } so every event that could transition to s1 needs to implement getEventData() method. ->this is normal! now my problem is that ESUB does NOT implement getEventData() but apparently it should. And I don't get why. I am not using ESUB to transition to s1 but I am using ESUB to transition to subm1 and subm1 contains s1 but I don't access it at that point. I hope this is clear. Thank you.