
In article <MPG.26a67c94f6d5c21098968b@news.gmane.org>, roberts.noah@gmail.com says... OK, I fixed it...or so it seems. I did it by turning this:
// universal choice point base class template template< class MostDerived, class Context > struct choice_point : sc::state< MostDerived, Context, sc::custom_reaction< make_choice > > { typedef sc::state< MostDerived, Context, sc::custom_reaction< make_choice > > base_type; typedef typename base_type::my_context my_context; typedef choice_point my_base;
choice_point( my_context ctx ) : base_type( ctx ) { this->post_event( boost::intrusive_ptr< make_choice >( new make_choice() ) ); } };
to this: // universal choice point base class template template< class MostDerived, class Context > struct choice_point : sc::state< MostDerived, Context > { typedef sc::state< MostDerived, Context > base_type; typedef typename base_type::my_context my_context; typedef choice_point my_base; typedef sc::custom_reaction<make_choice> reactions; choice_point( my_context ctx ) : base_type( ctx ) { this->post_event( boost::intrusive_ptr< make_choice >( new make_choice() ) ); } }; It seems to do the trick. If it's the right way to do it I'd suggest updating the documentation. -- http://crazyeddiecpp.blogspot.com/