devxlogo

How to Re-open a Nested Namespace

How to Re-open a Nested Namespace

As strange as it may seem, C++ doesn’t allow you to re-open a namespace using a qualified name; you can re-open it only by using its nested name. For example, the following program defines a namespace called A that has two embedded namespaces, B and C. The attempt to re-open A::B with a qualified name and add the member d to it fails to compile. By contrast, the addition of a the member e to the same namespace succeeds because in this case the programmer used nested namespaces:

 namespace A{ namespace B {  int a; } int b; namespace C {  int c; }}namespace A::B // attempt to re-open using a qualified name{ int d; // this won't compile}namespace A // re-opening namespace B in A{ namespace B {  int e; // fine, add a new member to namespace B in A }}int main(){ A::B::a = 1; A::b = 2; A::C::c = 3; A::B::d = 4; // won't compile A::B::e = 5;}
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist