当类具有另一个类作为模板参数时,我在定义类功能时遇到问题。
例外是“模板参数列表应与模板参数列表相对应”
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
答案 0 :(得分:0)
好吧,为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() { }