namespace define declarations create c++ class namespaces symbol

c++ - define - ¿Puede una clase compartir el nombre de un espacio de nombres?



namespace in c (2)

No puede tener el arreglo que tiene en su pregunta porque no hay forma de desambiguar a Bar .

Mi compilador dice:

error C2757: ''Bar'' : a symbol with this name already exists and therefore this name cannot be used as a namespace name

¿Es válido el siguiente código de C ++?

namespace Foo { class Bar { // Class code here. }; }

namespace Foo { namespace Bar { void SomeFunction(); { // Function code here. } } }

En otras palabras, ¿puede haber un espacio de nombres con el mismo nombre que una clase?


"¿Puede haber un espacio de nombres con el mismo nombre que una clase ?"

No , si están en el mismo espacio de nombres, como en su caso.

De lo contrario, sí. Cualquier cosa puede tener el mismo nombre que cualquier otra cosa si se encuentran en espacios de nombres diferentes. Vea este hilo de como referencia.