Visual Studio 2017不允许我创建C ++专用模板

时间:2018-10-26 12:04:09

标签: c++

template<> 
class A<char> { // Error here
public:
    A(char c)
    {
        // Do something here.
    }
};

当我将鼠标悬停在A上时,它会显示“ A不是模板”。

1 个答案:

答案 0 :(得分:6)

您需要先声明模板,然后才能对其进行专门化:

// declare the template
template <typename T>   // no need to define it
struct A;               // if you only want the specialization

// declare and define the specialization
template<> 
struct A<char> {};