I expect the state machine to transition from init -> b -> a -> b. This only happens if the nested state machine a itself is declared as a class.
Edit: Seems like it has something to the visibility of operator(). A struct with a private operator() transitions correctly, and a class with a public operator() doesn't...
An FSM with a nested sub-state declared as a
struct
will not correctly transition using theany
state feature (#602 )I've been scratching my head for hours trying to figure out why my state machine doesn't behave the way I expect it to.
See this example.
I expect the state machine to transition from
init -> b -> a -> b
. This only happens if the nested state machinea
itself is declared as aclass
.Edit: Seems like it has something to the visibility of
operator()
. Astruct
with aprivate operator()
transitions correctly, and aclass
with apublic operator()
doesn't...