From: Andreas Huber (ah2003_at_[hidden])
Date: 2004-04-11 05:33:14


Hi there

While trying to port my fsm proposal to BCC5.6.4, I encountered the
following compiler error:

"simple_state.hpp": E2188 Expression syntax at line 389

The error is in the following code:

    // ...
    typedef typename context_type::outermost_context_type
      outermost_context_type;
    typedef typename context_type::inner_context_ptr_type context_ptr_type;
    typedef typename context_type::state_list_type state_list_type;
    // *** error on the following line ***
    typedef intrusive_ptr< inner_context_type > inner_context_ptr_type;
    typedef typename detail::make_list< InnerInitial >::type
      inner_initial_list;
    BOOST_STATIC_CONSTANT(
      detail::orthogonal_position_type,
      no_of_orthogonal_regions = mpl::size< inner_initial_list >::value );
    typedef typename mpl::push_front<
      typename context_type::context_type_list,
      context_type >::type context_type_list;

    // ...

I don't have a clue what BCC's problem is here, for the following reasons:
- This code compiles just fine on MSVC7.1, GCC3.2 and Intel8.0
- The line on which the error is reported looks completely harmless to me
- No amount of commenting out code following the problem line changes
anything in BCC's diagnosis

Does anyone have any hints on how to resolve this?

Thanks & Regards,

Andreas

P.S. The full code can be found at http://boost-sandbox.sf.net/fsm.zip or in
the sandbox CVS. The error appears while trying to compile the StopWatch
example.