为什么我的VS不支持类模板偏特化??

直接报红了。

提示,主模板的声明中不允许使用模板参数列表
clipboard.png

#include <iostream>
#include <string>

using namespace std;


template<typename T2>
class Point2<char*, T2> {
public:
    Point2(char *x, T2 y) :m_x(x), m_y(y) {}
public:
    char *getX() const { return m_x; }
    void setX(char *x) { m_x = x; }
    T2 getY() const { return m_y; }
    void setY(T2 y) { m_y = y; }
    void display() const;
private:
    char *m_x;
    T2 m_y;
};

int main() {
    
}

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 4.6k
1 个回答

你的主模板声明/定义并没有啊。

不能没有主模板,只有偏特化。

在偏特化前加一句 template<typename T, typename TT>class Point2; 就好了。

https://ideone.com/CPuPNa

推荐问题