Bonjour,
Le code suivant ne compile pas:
J'ai une erreur m'indiquant que m_Membre est inconnu dans MaFonction et le constructeur A(const T&P_oT0) n'est pas trouvé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 template<class T> class A { public: A(const T&P_oT0) :m_Membre(P_oT0) {} protected: T m_Membre; }; template<> class A<double> { public: double MaFonction() {return m_Membre*1.5;} }; int main() { A<double> L_aDouble(4.0); // KO A<int> L_aInt(4); // OK A<char> L_aChar('e'); // OK return 0; }
Je suis obligé de faire:
J'ai loupé quelque chose? Sinon, si je doit reprendre toute les définitions dans mes spécialisations, cela devient un peu galère...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 template<class T> class A { public: A(const T&P_oT0) :m_Membre(P_oT0) {} protected: T m_Membre; }; template<> class A<double> { public: A(const double&P_oT0) :m_Membre(P_oT0) {} double MaFonction() {return m_Membre*1.5;} protected: double m_Membre; }; int main() { A<double> L_aDouble(4.0); // OK A<int> L_aInt(4); // OK A<char> L_aChar('e'); // OK return 0; }
Partager