相关疑难解决方法(0)

为什么我不能从lambda返回初始化列表

为什么这段代码无效?

  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或...具有某些默认值.

c++ lambda initializer-list c++11 c++14

24
推荐指数
2
解决办法
3850
查看次数

标签 统计

c++ ×1

c++11 ×1

c++14 ×1

initializer-list ×1

lambda ×1