A question on switch_statement. Can any one with kindness help me?

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?

Oh,I made a mistake.value is a double.And I need to round it to int . And I still want to know whether I can use make_const(switchvalue) or constant(switchvalue) instead of switchvalue? Even var(switchvalue)? in : 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);
participants (1)
-
fmingu