id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 3289,boost::phoenix::lambda doesnt handle local variables very well.,kuentang@…,Joel de Guzman,"Introducing a local variable in boost::phoenix::lambda without using an argument names create a compiler error with boost 1.40 and msvc 2008. To be precise: The code double abc=lambda(_a=*ref(it)++)[_a*2.0]()(); // here 'it' is an //iterator create a boost::phoenix::detail::error_expecting_arguments error. The problem seems to be connected to the no_nullary. the following code reproduce the error: # include # include # include using namespace boost::phoenix; using namespace boost::phoenix::arg_names; using namespace boost::phoenix::local_names; int main() { std::vector u(11,1.0); std::vector w(11,2.0); std::vector::const_iterator it=w.begin(); //boost::phoenix::generate(ref(u) // ,lambda(_a=*ref(it)++)[_a*2.0 ] //)(); double abc=lambda(_a=*ref(it)++)[_a*2.0]()(); return 0; } ",Bugs,closed,Boost 1.40.0,spirit,Boost Development Trunk,Problem,fixed,spirit phoenix lambda,