and use it in our code, everything compiles fine. As soon as we
change the declaration to

       class Active : public boost::statechart::simple_state< Active, PRX5StateMachine >

we get massive compiler errors, which look like this:
 
In "struct" its memebers have "public" access by default. In you define a "class", ensure that all the symbols needed by the framework are accessible (eg., that "reactions" typedef is public)