11
#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?

Whovian
  • 365
  • 2
  • 4
  • 12

1 Answers1

16

Like this:

void output()
{
    cout << ::a << endl;  //using :: = the global namespace 
}
Tony The Lion
  • 61,704
  • 67
  • 242
  • 415