【发布时间】:2016-02-21 20:12:14
【问题描述】:
我正在尝试将 std::initializer_list 接受为这样的通用构造函数:
template<typename T>
class Test{
std::vector<T> V;
Test(std::initializer_list<T>& list) : V(list){}
};
使用
Test<int> test{ 1, 2, 3, 4 };
但我得到了错误:
error C2440: 'initializing' : cannot convert from 'initializer-list' to 'Test<int>' No constructor could take the source type, or constructor overload resolution was ambiguous
我只是不确定我在这里做错了什么。
【问题讨论】:
-
VS 看起来已经成熟了,不错。它似乎不再允许将“&”绑定到临时对象。
-
刻薄,但我会接受的。谢谢。
标签: c++ templates constructor initializer-list