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?
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.