如何使用一组特定的模板参数提供实现专业化

时间:2016-01-18 22:58:13

标签: c++ templates specialization

template<typename T,int N>
class Matrix;

template<typename T, 0>
class Matrix{
    T val;
};

template<typename T, 1>
class Matrix{
    T* elem;
    int sz;
};

我收到语法错误。

Bjarne Stroustrup的代码 - C ++编程语言Ch25.3.1.1实现专业化

1 个答案:

答案 0 :(得分:1)

It's like this

template<typename T,int N>
class Matrix;

template<typename T>
class Matrix<T, 0>{
    T val;
};

template<typename T>
class Matrix<T, 1>{
    T* elem;
    int sz;
};