我的理解是,如果我在lambda表达式中使用语法[&],那么我的lambda表达式可以访问函数的周围变量和参数.
因此,我尝试编写以下(简化)代码
if ( [&]()
{
bool b = false;
return b;
}
)
{
// Do something in TRUE part of if statement
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误"类型'的值'lambda at ...'不能在上下文中转换为'bool'
希望对此问题有所了解.
非常感谢,D
Bri*_*ian 13
你需要调用你正在构建的lambda.它不会被隐式调用.
if ([&]() { /*...*/ return b; }()) {
// ^^ call the lambda
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |