Templates de classes imbriquées et héritage
Bonjour,
Je réalise actuellement un projet et je butte sur des problèmes de templates... Je n'arrive absolument pas à décoincer la situation.
Voilà, j'ai une classe de base, Array. Une classe ArrayView en hérite
J'ai une classe ArrayFix qui hérite de Array, et imbriquée dans ArrayFix une classe ArrayViewFix
Et là, ça se corse. Le compilateur me renvoie des infos dont je ne sais que faire, et malgré mes recherches sur Internet, je ne trouve... Rien de très convaincant :
Code:
1 2
| ArrayFix.hpp:284:25: error: typename Array<int, 2ul>::ArrayView names template<class T, long unsigned int D> class Array<int, 2ul>::ArrayView, which is not a type
class ArrayFix<T1, D1>::ArrayViewFix : public Array<T2, D2>::ArrayView |
J'ai essayé de modifier de pas mal de façons, et je suis un peu perdue :s
À la ligne 284, j'ai ceci :
Code:
1 2 3
| template<typename T1, std::size_t D1>
template<typename T2, std::size_t D2>
class ArrayFix<T1, D1>::ArrayViewFix : public Array<T1, D1>::ArrayView |
Help :s Si quelqu'un avait de quoi me guider un peu ?! Je ne pense pas que ce que je tente de faire soit totalement décalé, je l'ai déjà fait (bon mais il y avait moins de templates...) et... Pfff :(
Merci d'avance !
Ps: Bon, j'ai encore des problèmes de compilation, mais on m'a aidée sur le chat à trouver le problème :
Il n'y a qu'un seul template pour la classe imbriquée. Dans ma déclaration, je déclarais avec template, et ce n'est pas nécessaire.
:s