如何以模板类作为模板参数在模板类中正确定义模板函数
Posted
技术标签:
【中文标题】如何以模板类作为模板参数在模板类中正确定义模板函数【英文标题】:How to properly define template function in template class with a template class as a template parameter 【发布时间】:2019-05-19 20:13:03 【问题描述】:当类有另一个类作为模板参数时,我在定义类函数时遇到问题。
例外是“模板参数列表应该对应一个模板参数列表”
template <class T, size_t N, class arr_traits<T>>
class NDimArray
void f();
template <class T, size_t N, class arr_traits<T>>
void NDimArray<T, N, arr_traits<T>>::f() // here
【问题讨论】:
【参考方案1】:好的,为 arr_traits 设置一个别名就可以了,这样我们就没有模板参数列表中的类了。
template <class T, size_t N, class array_traits = arr_traits<T>>
class NDimArray
void f();
template <class T, size_t N, class arr_traits>
void NDimArray<T, N, arr_traits<T>>::f()
【讨论】:
以上是关于如何以模板类作为模板参数在模板类中正确定义模板函数的主要内容,如果未能解决你的问题,请参考以下文章