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();
}

结果是“命名空间很棒!”。那么有什么方法可以访问命名空间 myNamespace 内的全局字符串 a 而不仅仅是本地字符串?

4

1 回答 1

16

像这样:

void output()
{
    cout << ::a << endl;  //using :: = the global namespace 
}
于 2012-05-06T23:42:28.290 回答