No estoy seguro de qué hacer al anidar espacios de nombres y declaraciones de objetos.NameSpaces anidados en C++
Estoy portando algún código que enlaza con una biblioteca estática que tiene algunos espacios de nombres.
Ejemplo de lo que estoy hablando:
namespace ABC {
namespace XYZ {
//STUFF
}
}
En el código ¿qué hago para declarar un objeto que está en espacio de nombres XYZ
?
si trato:
XYZ::ClassA myobject;
o:
ABC::XYZ::ClassA myobject;
o:
ABC::ClassA myobject;
me sale
no nombra a un tipo
errores, a pesar de que ClassA
definitivamente existe.
¿Qué es correcto aquí?
Yo diría que - no use espacios de nombres anidados, mantenga su esquema de espacio de nombres lo más simple posible. –
Lo que has intentado es obviamente correcto. ¿Tal vez escribiste mal un espacio de nombres/clase en tu código real? También puede verificar la ** mayúscula y minúscula ** (este es un error común). – ereOn
Solo asegúrate de ... Sabes que declarar una nueva clase dentro de los espacios de nombre anidados es diferente a hacer referencia a un objeto declarado en una biblioteca externa desde dentro de ellos. – Jay