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 :
J'ai essayé de modifier de pas mal de façons, et je suis un peu perdue :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
À la ligne 284, j'ai ceci :
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
Partager