C++ 初学者 Lambda 的

标签 c++ function lambda scope

我是一个刚刚学习 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/

相关文章:

c++ - 为什么我的嵌套 QEventLoop 不能为我的 QThread 传递所有事件?

c++ - 函数模板特化错误

python - Scipy.optimize.minimize 函数确定多个变量

java - 为什么在 Java 中使用 lambda 表达式?

c++ - 数组作为函数参数 - 编译错误

c++ - 在 C++ 中,如何初始化在 Singleton 模板中声明的私有(private)类的静态成员?

excel - 间接函数返回#REF

R指定功能环境

amazon-web-services - lambda 函数中的 AWS 参数存储访问

c++ - 将基类转换为派生类还是在基类上创建虚函数更好?