"Andreas Huber" <[EMAIL PROTECTED]> writes: > Dave, > > "David Abrahams" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] >> This looks seriously like ETI (early template instantiation) again. >> Unfortunately I'm not sure exactly what the fix is; Aleksey is the >> only person I know who really understands how to work around this. >> One thing you could try: >> >> template< class Derived, >> class Context, >> class Transitions = empty_list, >> class InnerInitial = empty_list > >> class simple_state >> : public mpl::identity< // Here >> typename state_base_type< >> Derived, Context, Transitions, InnerInitial >::type >> >::type // Here >> {}; > > Unfortunately this doesn't help, 7.0 reports > > d:\Data\StopWatch\StopWatch.cpp(58) : error C2516: > 'boost::mpl::identity<T>::type' : is not a legal base class > with > [ > T=state_base_type<Derived,Context,Transitions,InnerInitial>::type > ] > > But thanks anyway! I'll wait for Aleksey then...
One last shot-in-the-dark: add this specialization: template <> class simple_state<int, int, int, int> {}; What ETI does is to use an instantiation of some template with all int parameters internally as a stopgap measure while it's waiting to discover what the parameters really are. After this, I give up! -- Dave Abrahams Boost Consulting www.boost-consulting.com _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost