我是一个刚刚学习 lambda 的初学者,所以我只想制作一个 lambda,它从外部函数捕获一个局部变量,并且应该打印它的值并递减它直到它达到 0。它编译但没有'显示任何东西。为什么?
void dummyFn(int &num)
{
int j = num;
[&j](){
while (j != 0)
{
cout << j << endl;
--j;
}
};
}
最佳答案
您已经定义了一个 lambda,但您从未运行过它。尝试
auto mylambda = [&j](){...};
mylambda();
关于C++ 初学者 Lambda 的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202043/