C++ accessing global variables/objects in a namespace with a variable/object with the same name
c++, global, local, namespaces, object
Solution
Like this:
void output()
{
cout << ::a << endl; //using :: = the global namespace
}
Problem
``` #include <iostream> #include <string> using namespace std; string a; namespace myNamespace { string a; void output() { cout << a << endl; } } int main() { a = "Namespaces, meh."; myNamespace::a = "Namespaces are great!"; myNamespace::output(); } ``` The result is "Namespaces are great!". So is there any way to access the global string a inside of the namespace myNamespace instead of just the local one?