Bonjour,

Je continue doucement mon apprentissage des templates et je m'interesse maintenant aux templates de templates.

Prenons l'exemple ci-dessous:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
template <typename T> class Vector;
template <template <typename> class V, class T> class VectorList;
template <typename T> class DerivedVectorList: public VectorList<Vector<T>, T>{};
Je veux donc implémenter un premier template Vector qui est un conteneur générique.
Je veux ensuite implémenter un conteneur de conteneur générique VectorList.

Je sèche sur la façon de réaliser un héritage (DerivedVectorList) de mon VectorList. Mon compilo (gcc 4.4.5 sur linux) me renvoie:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
type/value mismatch at argument 1 in template parameter list fortemplate<template<class> class V, class T> struct VectorList’
expected a class template, got ‘Vector<T>’
quelqu'un aurait une idée ?

merci d'avance

P.S.: pour une raison que j'ignore, je ne peux plus utiliser typename mais seulement class dans un template template. Je ne sais pas si c'est mon compilo ou la norme... ça me gène pas forcément, je trouve juste ça bizarre.