Alex Rivera | Logout

Classes and namespaces sharing the same name in C++

Asked 2010-11-01T16:30:38.430
18

Let's say I have a class called 'foo' in namespace "abc"...

namespace abc {
     class foo {
         int a;
         int b;
     };
}

...and then say I have another class called "abc" in a different namespace

#include "foo.h"

namespace foo {
    class abc {
        abc::a = 10;
    };
}

abc::a would not be a defined type, because it would be searching class abc, not namespace abc. How would I go about properlly referencing an object in another namespace, wherein that other namespace had the same name as the class I'm in?

Edit
Report

1 Answer

25

You can use ::abc::xx, that is, identify the variable or type as its absolute namespace path. If you don't specify an absolute name, relative names start going upwards in the including namespaces/classes.

answered 2010-11-01T16:33:25.420

Your Answer