Bonjour,
Je rencontre un petit problème avec l’utilisation de classe templates pour un conteneur. Soit la classe suivante :
Le problème est que std::vector prend deux arguments template, pas un seul. Et que bien que le second ait une valeur par défaut, ça ne fonctionne pas. Et comme je veux que ça marche aussi pour QList, qui elle ne prend qu’un seul argument, je ne vais pas imposer que container ait deux arguments.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 template<typename element, template<typename> class container> class A { ... }; typedef A<std::string, std::vector> Astl; // NOK typedef A<QString, QList> AQt; // OK
Du coup, je cherche un moyen, soit dans mon typedef, pour préciser que je veux utiliser le std::vector<T> qui utilise l’allocateur standard, soit ailleurs, pour faire en sorte que ça marche. Des idées ?
Partager