Subject: [boost] Compiling error with VC8
From: Christophe Henry (christophe.j.henry_at_[hidden])
Date: 2009-03-11 10:47:42


Hi,
I just got a strange compiling error while testing Msm with VC8.
If I write:
template <class StateType>
typename ::boost::enable_if<
            typename ::boost::mpl::and_<typename ::boost::mpl::not_
                                                    <typename
has_exit_pseudo_states<StateType>::type>::type,
                                        typename ::boost::mpl::not_
                                                    <typename
is_pseudo_exit<StateType>::type>::type
>::type,BaseState*>::type

I get :
error C2770: invalid explicit template argument(s) for '`global
namespace'::boost::enable_if<is_pseudo_exit<StateType>::type,BaseState*>::type
boost::msm::state_machine<Derived,HistoryPolicy,BaseState>::add_state<ContainingSM>::new_state_helper(boost::msm::dummy<__formal>)
const'

If I replace the ::boost::mpl by boost::mpl, it compiles fine. But I'm still
wondering if I'm doing something wrong or the compiler.
Does anyone have an answer?

Thanks in advance,
Christophe