E2408 Les valeurs par défaut doivent être spécifiées seulement dans les déclarations de modèle de classe primaire (C++)
Remonter à Erreurs et avertissements du compilateur (C++) - Index
Les fonctions modèles et les spécialisations partielles de classe ne peuvent pas utiliser les expressions par défaut dans leurs listes de paramètres modèles. Seules les déclarations de modèles primaires peuvent faire cela. Par exemple :
template<class T = int>
class foo;// OK : modèle de classe primaire
template<class T = int>
void bar();// erreur : fonction modèle
template<class T = int>
class foo<T *>;// erreur : spécialisation partielle