I am using Dev-C++ with boost lambda expression, and I wrote the following lines:
.................
int result,switchvalue;
...............
 (switch_statement(_1,
   case_statement<1>
   (var(result)=0),
   case_statement<2>
   (var(result)=1),
   case_statement<3>
     (var(result)=constant(value)),
   default_statement
            (var(std::cout)<<"wrong")
   ))(switchvalue);
but the complier told me that:
  instantiated from `Arg::sig<boost::tuples::tuple<A&, B&, C&, Env&, boost::tuples::null_type, boost::tuples::null_type,..........
 
  instantiated from `RET boost::lambda::lambda_functor_base<boost::lambda::switch_action<5, boost::lambda::detail::case_label<Case0>, ....................
 
  instantiated from `T::sig<boost::tuples::tuple<A&, boost::tuples::null_type, boost::tuples::null_type, .........
 
  instantiated from here
 
And I do not know where is wrong and how to correct it.
By the way, can I use make_const(switchvalue) or constant(switchvalue)
instead of switchvalue?
Can any one with kindness help me?




200万种商品,最低价格,疯狂诱惑你