Template de template et constructeur par defaut

Template de template et constructeur par defaut - C++ - Programmation

Marsh Posté le 05-09-2006 à 14:59:51    

Bonjour,
 
En guise de premier post sur ce forum j'ai une question au sujet d' une structure récursive à base de template ci-dessous:

Code :
  1. template<class X, class Y>
  2. class Mix: public X, public Y
  3. {
  4. Mix(PARAM param): X(param), Y(param){}
  5. ...
  6. }
  7. template<int INDEX>
  8. class SubClass_X : virtual public Z
  9. {
  10. X(PARAM param): Z(param){}
  11. ...
  12. }
  13. template<int INDEX>
  14. class SubClass_Y : virtual public Z
  15. {
  16. Y(PARAM param): Z(param){}
  17. ...
  18. }
  19. class Z
  20. {
  21. Z(PARAM param);
  22. ...
  23. }
  24. class Result: virtual public Mix<SubClass_X<0>,SubClass_Y<0> >
  25. {
  26. Result(PARAM Param):Mix<SubClass_X<0>,SubClass_Y<0> >(Param){}
  27. ...
  28. }


 
Et voici maintenant mon problème. Sans plus de spécifications, le compilateur renvoie une erreur suggérant l'inclusion d'un constructeur par défaut pour la classe Z. Mon approche du problème est la suivante (et si vous pouvez me dire si j'ai tort ou ce qu'il se passe exactement je vous en serais reconnaissant): Au moment de la construction de Result, il est nécessaire de savoir quelles sont les classes et les attributs de X et Y (templates) afin de pouvoir construire le Mix correspondant et c'est pourquoi il faut utiliser des constructeurs par défaut. J'aimerai savoir s'il est possible de contourner ce problème ou bien si je me trompe complètement. Dans le cas précis où je me trouve, je rechigne à inclure ce constructeur. Merci d'avance.


Message édité par ElDesdichado le 05-09-2006 à 15:01:33
Reply

Marsh Posté le 05-09-2006 à 14:59:51   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed