Bonjour/Bonsoir,
Hé bien le code parlera bien mieux que moi:
J'ai une class A, une class B, toutes deux munies d'une fonction membre publique echo(), qui affiche quelque chose par cout.
Maintenant, voici la déclaration d'une class, C de son nom, comme suit :
Jusque là en principe tout va bien, non? Oui ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 template <class T = A> class C { public: T t; };
Seulement dans le code suivant :
La première ligne me donne une erreur de compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 C c; c.t.echo(); C<B> cb; cb.t.echo();
missing template argument before c
Pourriiez-vous m'expliquer le pourquoi du comment?
Merci beaucoup pour votre temps et votre attentio.
Edit : avec C<> c il accepte. On est donc obligé d'indiquer des <>?
Partager