class Namespace::Class;
¿Por qué tengo que hacer esto ?:
namespace Namespace {
class Class;
}
Usando VC ++ 8.0, el compilador emite:
error C2653: 'Espacio de nombres': no es un nombre de clase o espacio de nombres
Supongo que el problema aquí es que el compilador no puede decir si Namespacees una clase o un espacio de nombres. Pero, ¿por qué importa esto ya que es solo una declaración adelantada?
¿Hay otra forma de declarar hacia adelante una clase definida en algún espacio de nombres? La sintaxis anterior parece que estoy "reabriendo" el espacio de nombres y extendiendo su definición. ¿Qué pasa si Classno se definió realmente en Namespace? ¿Esto resultaría en un error en algún momento?
A::Bel Aes un identificador de espacio de nombres en lugar de un nombre de clase?
Namespacees una clase o un espacio de nombres. Simplemente no se acerque al indicio de una posibilidad de iniciar una guerra de lenguaje sobre la sintaxis.