0

Comment spécialiser un modèle défini dans un espace de nom externe dans le corps de ma classe?spécialisation de modèle dans l'espace de nom de classe

Exemple concret à l'aide BGL qui ne compile pas:

class A 
{ 
    namespace boost 
    { 
    template <class ValueType> 
    struct container_gen<SomeSelectorS, ValueType> 
    { 
     typedef std::multiset<ValueType,MyClass<ValueType> > type; 
    }; 
    } 
} 

Si l'on se spécialisation de container_gen hors de la classe A tout fonctionne très bien. Le problème spécifique est que je ne sais pas comment référencer l'espace de noms "boost" de la classe A.

+2

Qu'est-ce que vous essayez de faire qui ne peut pas être fait en le spécialisant en dehors de la classe? –

Répondre

5

Vous ne pouvez pas créer d'espaces de noms dans les classes et vous ne pouvez pas spécialiser un modèle dans une étendue d'espace de noms dans une classe.