如何使用模板类作为模板参数正确定义模板类中的模板函数

How to properly define template function in template class with a template class as a template parameter

本文关键字:定义 函数 何使用 参数      更新时间:2023-10-16

我有一个问题,当类将另一个类作为模板参数时定义类功能。

例外是"模板参数列表应对应于模板参数列表"

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

好吧,对于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() { }