我有一个从另一个lambda调用的lambda,在'inner'lambda中我似乎没有正确捕获this
指针。这里的语法有问题吗?我的代码格式为:
void MyClass::myFunction(double newValue)
{
auto innerLambda = [this]() -> bool // I've also tried '[&]' here
{
if (this -> State == State1)
return true;
else
return false;
};
auto outerLambda = [&](double newValue)
{
if (innerLambda())
{
// Do something
...
}
else
{
// Do something else
...
}
};
outerLambda(newValue);
}
如果我在outerLambda
中放置调试断点并检查this
指针的内容,那么一切都存在且正确,但如果我在innerLambda
中执行相同操作,那么{ {1}}指针似乎指向垃圾。