我想使用 Boost.Phoenix 创建一个 lambda 函数,该函数由几行代码组成,然后“返回”一个值,以便我可以将它与std::transform
.
像这样:
std::transform(a.begin(), a.end(), b.begin(),
(
//Do something complicated here with the elements of a:
statement1,
statement2,
statement3
//Is there a way to return a value here?
)
);
std::for_each
这样可以完美地工作,但是由于逗号运算符返回,因此std::transform
无法编译void
。如何从这样的 lambda 函数返回值?
编辑:我更改了代码片段,因为我首先写的内容导致了对我想要做什么的误解。