一个的typedef模板参数

我有代码,我想的typedef一个模板类以方便您阅读:一个的typedef模板参数

template<int A, int B> 

using templateClass = templateClass<A,B>;

void aFunction(templateClass& tc);

int main(){

templateClass<10, 34> tc;

aFunction(tc);

}

void aFunction(templateClass& tc){

...

}

,但我得到关于不模板标识符许多错误被发现。这应该怎么做?我是想以此为榜样:

How to typedef a template class?

回答:

templateClass不是一个类型;它是一个类型模板。定义模板化功能时,您仍然需要使用template关键字。

template<int A, int B> 

void aFunction(templateClass<A, B>& tc);

回答:

别名模板是有用的,当你只知道提前一些模板参数:

template <class Value> 

using lookup = std::map<std::string, Value>;

lookup<int> for_ints;

lookup<double> for_doubles;

目前还不清楚你的情况,你是否需要一个类模板的名称:

template <class A, class B> 

class templateClass;

template <class A, class B>

using otherName = templateClass<A, B>;

如果您已经知道您需要的类型:

typedef templateClass<int, double> int_double; 

,或者如果你只知道一个类型:

template <class B> 

using with_int = templateClass<int, B>;

在任何情况下,你不能有相同名称的别名为一类,就像你做了templateClass

以上是 一个的typedef模板参数 的全部内容, 来源链接: utcz.com/qa/262271.html

回到顶部