2010-08-24 6 views
5

Vu:modèle spécialisé sur un espace de noms

namespace A { 
    class Foo; 
    class Bar; 
} 

namespace B { 
    class Foo; 
    class Bar; 
} 

Je veux à le modèle une classe sur l'espace de noms A ou B telles que les travaux suivants:

template<name> class C { 
    name::Foo* foo; 
    name::Bar* bar; 
} 

Cela peut-il être fait directement ou dois-je besoin de créer une paire de types struct avec typedefs en eux? Non, les modèles ne peuvent pas être paramétrés sur un espace de noms.

+0

Le paramètre de modèle n'est pas autorisé à être un espace de noms. –

Répondre

4

Vous ne pouvez pas créer de modèle sur un espace de noms. Si vous êtes en mesure d'utiliser une classe (avec les attributs publics/méthodes statiques les plus probables), vous pouvez créer un modèle sur la classe en tant que solution de contournement.

1

Non.