std::initializer_list<typename It::value_type> range_to_initializer_list(It begin, It end) { return __range_to_initializer_list::generate_n(begin, end, begin); } int main() { std::vector<int> vec = {1,2,3,4,5,6,7,8,
void someThing(std::initializer_list<int> items) { ... } 有时您将项目放在 vector<T> 而不是文字列表中: std::vector<int> v; // populate v with values someThing(v); // boom! No viable conversion etc. 更普遍的问题是:如何从 STL 可迭代对象中创建 stl::initializer_list ,而不仅仅是...