2010-08-24 25 views
5

Dado:plantilla especializada en un espacio de nombres

namespace A { 
    class Foo; 
    class Bar; 
} 

namespace B { 
    class Foo; 
    class Bar; 
} 

Quiero a la plantilla una clase en el espacio de nombres A o B tal que las siguientes obras:

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

¿Se puede hacer directamente o tengo ¿Necesitas crear un par de tipos de estructuras con typedefs en ellos?

+0

El parámetro de plantilla no está permitido como espacio de nombre. –

Respuesta

4

No puede plantilla en un espacio de nombres. Si puede usar una clase (con la mayoría de los atributos públicos/métodos estáticos), puede crear una plantilla en la clase como una solución parcial.

1

No, las plantillas no se pueden parametrizar en un espacio de nombres.

Cuestiones relacionadas