【发布时间】:2016-01-10 17:35:59
【问题描述】:
我正在尝试定义一个带有 initializer_list 参数的类构造函数,并使用它来构造包含的向量。
//header
template<typename VertexType, typename IndexType>
class Mesh
{
public:
Mesh(std::initializer_list<VertexType> vertices);
private:
std::vector<VertexType> mVertexData;
};
// cpp
template<typename VertexType, typename IndexType>
Mesh<VertexType, IndexType>::Mesh(std::initializer_list<VertexType> vertices)
{
mVertexData(vertices);
}
编译失败并出现以下错误:
error: no match for call to '(std::vector<Vertex,
std::allocator<Vertex> >) (std::initializer_list<NRK::Vertex>&)'
mVertexData(vertices);
不知道我做错了什么。有什么提示吗?
我正在使用 QTCreator 5.4.2 和 MinGW 在 Windows 上进行编译。
【问题讨论】:
标签: c++ c++11 vector initializer-list