Hi folks,
we have run into an interesting problem when compiling
one of our state machines using the boost state chart templates.
If we instantiate a state like this:
struct Active : public boost::statechart::simple_state< Active,
PRX5StateMachine >
{
public:
Active() : m_data("") {}
~Active() {}
std::string & Data() { return m_data;}
const std::string& Data() const { return m_data; }
private:
std::string m_data;
};
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:
/usr/include/boost/statechart/simple_state.hpp:832: error: within this
context
/usr/include/boost/statechart/state_machine.hpp:243: error: ‘typedef
struct boost::statechart::detail::rtti_policy
boost::statechart::state_machine