【发布时间】:2019-03-19 16:29:40
【问题描述】:
我有以下代码,它可以使用 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
}
是否有任何关于编译此代码的确切建议,或者它是通过一些其他功能的方式?
【问题讨论】: