我有一个模板类 A<T, int> 和两个 typedef A<string, 20> 和 A<string, 30>。如何覆盖 A<string, 20> 的构造函数?以下不起作用:
template <typename T, int M> class A;
typedef A<std::string, 20> one_type;
typedef A<std::string, 30> second_type;
template <typename T, int M>
class A {
public:
A(int m) {test= (m>M);}
bool test;
};
template<>
one_type::one_type() { cerr << "One type" << endl;}
我希望班级 A<std::string,20> 做其他班级没有做的事情。如何在不更改构造函数 A:A(int) 的情况下做到这一点?