Я создал лямбда-выражение внутри моего std::for_each
вызова.
В нем есть код, подобный этому, но у меня есть ошибка сборки, сообщающая мне, что
error: expected primary-expression before ‘return’
error: expected `]' before ‘return’
В моей голове я думаю, что boost-lambda
работает в основном с функторами, так что с return
утверждение это не так, его вызов не работает.
Знаете ли вы, что это такое и как это исправить?
Спасибо
AFG
namespace bl = boost::lambda;
int a, b;
bl::var_type::type a_( bl::var( a ) );
bl::var_type::type b_( bl::var( b ) );
std::for_each( v.begin(), v.end(), (
// ..do stuff here
if_( a_ > _b_ )
[
std::cout << _1,
return
]
));