我想做这样的事情(根据某些条件定义一个lambda函数):
auto update;
if(condition)
{
    update = [this]() {this->someField += 1;};
}
else
{
    update = [this]() {this->someField -= 1;};
}
update();
它真的可能以这种或那种方式存在吗?gcc-4.8对此代码的错误是
error: declaration of ‘auto update’ has no initializer
这是不可能的,因为auto变量需要一个初始化表达式来推断出类型,但你可以将update声明为std::function:
std::function<void()> update;
...
| 归档时间: | 
 | 
| 查看次数: | 125 次 | 
| 最近记录: |