2013-05-20 136 views
0

嗨,我被卡住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

我觉得是时候买了一本书,看看模板类的语法被实例化。 – user93353

+1

目前还不清楚你想要做什么。不是模板的类具有在定义中修复的所有成员的类型。你想让你的非模板类拥有一个特定的*实例化模板吗? (注:包括.cpp通常是一个坏主意) –

回答

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

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

ATemplateClass<EMode, char> mMenberVariable 
相关问题