namespace CounterNameSpace {
int upperbound;
int lowerbound;
using namespace NS;//Error
}
namespace NS {
int i;
}
// ...
namespace NS {
int j;
}
在上述情况下,它显示错误。 错误C2871:'NS':具有此名称的命名空间不存在 我知道如果我在解决反向空间问题之前定义NS。但只是想知道在c ++中是否存在任何类似命名空间的前向声明的东西。因此,在没有在counternamespace之前定义NS的情况下,上述问题将得到解决。 请帮忙。
答案 0 :(得分:13)
没有人说命名空间需要立即完成所有内容:
namespace NS {}
namespace CounterNameSpace {
int upperbound;
int lowerbound;
using namespace NS;
}
namespace NS {
int i;
}
然而,这可能不会做你想要的。在您声明它们之前,您仍然无法使用该命名空间中的任何类型。