lambda中的变量无法调用函数的原因



这就是类。

#include <iostream>
#include <string>
std::string strName = "ABC";
class BlueOut
{
public:
void printName() { std::cout << strName << std::endl; }
};

现在我创建一个类的对象

BlueOut blueout;

我调用lambda 中对象的函数printName((

auto a = [&]() { blueout.printName(); };

但是该函数不会被执行。

在这一行中,

auto a = [&]() { blueout.printName(); };

部分CCD_ 1被称为lambda表达式。您将其绑定到某个变量a。现在您有了一个由lambda表达式创建的函数对象a。为了看到效果,必须调用以下命令:

a();

最新更新