我问一个问题在这里:Lifetime Extension of a initializer_list return涉及非功能代码:如果不是intializer_list,什么是大括号括起来的列表?
const auto foo = [](const auto& a, const auto& b, const auto& c) { return {a, b, c}; };
我相信拉姆达试图返回intializer_list
(这是很糟糕,不这样做)。但我有一个comment:
It's not an
initializer_list
, it's an initializer list. Two different things.
我只是认为,只要你做了一个卷曲支撑列表,你正在创建一个intializer_list
。如果这不是所发生的事情,花括号中的列表是什么?
它只是:错误:返回初始化列表。 –
@DieterLücking你必须让你的错误比我更高。我第一次尝试这种方法时甚至没有收到警告,但正如链接问题所述,这是*不是*好的代码。 –
@JonathanMee下方,以便问题也有一些有用的方知答案:http://stackoverflow.com/questions/29200036/is-providing-a-private-constructor-for-initializer-list-conforming – Arunmu