我有以下代码,可以用C ++ 17编译器编译,但不能用C ++ 14编译。我想知道发生了什么变化,从而允许以下代码进行编译:
struct Foo{
Foo()=default;
Foo(const Foo&)=default;// copy by const ref
};
struct Bar{
Bar()=default;
Bar(Bar&)=default; //copy by non const
};
int main()
{
Foo foo;
Bar bar;
Bar barcpy = bar;
auto foolam = [foo]{};
auto barlam = [bar]{}; //compiles only with C++17
}
Run Code Online (Sandbox Code Playgroud)
是否有任何确切的建议可以编译此代码,或者是通过其他功能实现的?