类成员:模板类的向量

时间:2015-02-10 21:11:51

标签: c++ templates

我有一个类,其成员是另一个被模板化的类的向量。

我在classA.h中的代码如下所示:

template <typename T> vector<classB<T> >

我收到错误,例如&#34;没有合适的默认构造函数可用&#34; 和&#34;不允许使用多个模板参数列表。&#34; 我之前在classB中没有错误,直到我将这一行添加到classA。

我没有很多使用模板的经验,也不知道它为什么不编译,或者语法到底应该是什么。 this question似乎有所帮助,但答案太简洁了,我无法完全理解。是否真的有必要建立一个基类并从中得出答案所暗示的? A类是否需要被模板化,因为它有这个向量成员?

发生了什么?

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您实际上是在指定的剪切中声明了一个模板。如果它是类的成员,则该类必须是模板并在成员中传播类型信息,例如

template <typename T>
class Test {
     vector<MyClass<T>> _vector;
}