非模板类使用模板类作为成员变量

时间:2013-05-20 14:14:19

标签: c++ templates

嗨,我被困在tryng中使用一个声明为模板类的类,因此我对模板的了解是基本的。

//this is my code
#include "templateClassImp.cpp"
clase aClass{
public:
aClass();//implementing in cpp file
private:
ATemplateClass<class EMode, char> mMenberVariable;/*<< Doenst like this!!!! error compiling*/
}

// --------------------------

// templateClassImp.cpp

template<class Emode, class element = char>
class templateClassImp{}

//我想要实现的是在非模板类中使用该类。

2 个答案:

答案 0 :(得分:4)

您必须使aClass成为类模板,或者为mMenberVariable提供模板参数。

template <class T1, class T2=char>
class aClass
{
public:
  aClass();
private:
  ATemplateClass<T1, T2> mMenberVariable;
};

class aClass
{
public:
  aClass();
private:
  ATemplateClass<int, double> mMenberVariable;
};

答案 1 :(得分:-1)

您必须参数化模板定义中的所有模板参数才能使用它。

ATemplateClass<EMode, char> mMenberVariable