Почему этот код недействителен?
auto foo=[](){
return {1,2};
};
Однако это справедливо, так как initializer list используется для инициализации vector не для возврата:
auto foo=[]()->std::vector<int>{
return {1,2};
};
Почему я не могу вернуть initializer list? Это может быть полезно. Например, лямбда, которая может быть использована для инициализации vector или list или... с некоторыми значениями по умолчанию для чего-то.