J'ai une classe de modèle A < T, int> et deux typedefs A < chaîne, 20> et A < chaîne, 30>. Comment remplacer le constructeur pour une chaîne A <, 20>? Ce qui suit ne fonctionne pas:spécialisation de modèle C++ du constructeur
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;}
je voudrais la classe A < std :: string, 20> pour faire quelque chose que l'autre classe ne fonctionne pas. Comment puis-je faire cela sans changer le constructeur A: A (int)?
Qu'est-ce que vous essayez d'obtenir les classes à faire? – GManNickG
La question n'est pas claire. BTW, one_type n'a pas de constructeur vide, il a un constructeur avec un paramètre int. – Drakosha