嗨,我被困在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{}
//我想要实现的是在非模板类中使用该类。
答案 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