是否可以将容器的 value_type 作为模板参数传递?
就像是:
template<typename VertexType>
class Mesh
{
std::vector<VertexType> vertices;
};
std::vector<VertexPositionColorNormal> vertices;
// this does not work, but can it work somehow?
Mesh<typename vertices::value_type> mesh;
// this works, but defeats the purpose of not needing to know the type when writing the code
Mesh<typename std::vector<VertexPositionColorNormal>::value_type> mesh;
创建网格(第一个)时,我得到一个“无效的模板参数”,但它应该可以正常工作吗?我在编译时传递了一个已知类型,为什么它不起作用?有什么选择?
谢谢。