为什么这段代码无效?
auto foo=[](){
return {1,2};
};
Run Code Online (Sandbox Code Playgroud)
但是,这是有效的,因为initializer list它仅用于初始化vectornot以返回自身:
auto foo=[]()->std::vector<int>{
return {1,2};
};
Run Code Online (Sandbox Code Playgroud)
为什么我不能回来initializer list?它可能很有用.例如,一个lambda可用于初始化a vector或a list或...具有某些默认值.