直接报红了。
提示,主模板的声明中不允许使用模板参数列表
#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() {
}
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
你的主模板声明/定义并没有啊。
不能没有主模板,只有偏特化。
在偏特化前加一句
template<typename T, typename TT>class Point2;
就好了。https://ideone.com/CPuPNa