[Template] argument template template avec argument non-type un peu complexe
Bonjour,
(et déjà merci d'avoir survécu au titre :aie:)
le code suivant échoue à la compilation sous VS 2005 avec l'erreur C3201: la liste des paramètres de modèle pour la classe de modèle 'TSomeClass' ne correspond pas à celle du paramètre de modèle 'AClass'
Code:
1 2 3 4 5 6 7 8 9 10 11
| template<typename T, typename T::type I>
class TSomeClass
{};
template
< template<typename T, typename T::type I> class AClass
>
class TTest
{};
TTest<TSomeClass> t; |
le code suivant compile bien
Code:
1 2 3 4 5 6 7 8 9 10 11
| template<typename T, T I>
class TSomeClass
{};
template
< template<typename T, T I> class AClass
>
class TTest
{};
TTest<TSomeClass> t; |
Est-ce un problème du compilateur ou un code effectivement invalide ?
J'ai des doutes sur l'écriture template<typename T, typename T::type I>, bien qu'elle compile indépendamment (et je n'ai pour l'instant rien vu dans la norme qui la permette\l'interdise).
Merci.