Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果名称空间只能具有全局作用域,那么如何才能有嵌套的名称空间?_C++_Nested_Namespaces - Fatal编程技术网

C++ 如果名称空间只能具有全局作用域,那么如何才能有嵌套的名称空间?

C++ 如果名称空间只能具有全局作用域,那么如何才能有嵌套的名称空间?,c++,nested,namespaces,C++,Nested,Namespaces,我读了这两段代码及其描述,认为它们相互冲突 命名空间定义只能出现在全局范围中。 名称空间可以嵌套 在这种情况下,namespace2不是namespace1的本地名称,因此会导致错误吗?,因为您的报价是错误的。更正确的描述是: 命名空间定义仅允许在命名空间范围内使用,包括 全球范围 请说明引用的来源。名称空间只能在全局范围内不是真的。全局范围实际上是全局名称空间范围。名称空间可以在任何名称空间范围中定义。 void f() { namespace space1{ } } //

我读了这两段代码及其描述,认为它们相互冲突

命名空间定义只能出现在全局范围中。 名称空间可以嵌套
在这种情况下,namespace2不是namespace1的本地名称,因此会导致错误吗?

,因为您的报价是错误的。更正确的描述是:

命名空间定义仅允许在命名空间范围内使用,包括 全球范围


请说明引用的来源。名称空间只能在全局范围内不是真的。全局范围实际上是全局名称空间范围。名称空间可以在任何名称空间范围中定义。
void f()
{
    namespace space1{

    }
}
// So this is not allowed as space1 is local to f()
namespace namespace1{
    int i;
    namespace namespace2{
       int j;
    }
}