1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> namespace ns //::ns { void f() //::ns::f { std::cout << "::ns::f"<< std::endl; } namespace ns //::ns::ns { void f() //::ns::ns::f { std::cout << "::ns::ns::f"<< std::endl; } } } using namespace ns; //::ns int main() //::main { ::ns::f(); //::ns::f ::ns::ns::f(); //::ns::ns::f f(); //::ns::f ns::f(); //error, ambiguous } |
I2luY2x1ZGUgPGlvc3RyZWFtPgoKbmFtZXNwYWNlIG5zIC8vOjpucwp7CiAgICB2b2lkIGYoKSAvLzo6bnM6OmYKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgIjo6bnM6OmYiPDwgc3RkOjplbmRsOwogICAgfQogICAgbmFtZXNwYWNlIG5zIC8vOjpuczo6bnMKICAgIHsKICAgICAgICB2b2lkIGYoKSAvLzo6bnM6Om5zOjpmCiAgICAgICAgewogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIjo6bnM6Om5zOjpmIjw8IHN0ZDo6ZW5kbDsKICAgICAgICB9CiAgICB9Cn0KCnVzaW5nIG5hbWVzcGFjZSBuczsgLy86Om5zCgppbnQgbWFpbigpIC8vOjptYWluCnsKICAgIDo6bnM6OmYoKTsgLy86Om5zOjpmCiAgICA6Om5zOjpuczo6ZigpOyAvLzo6bnM6Om5zOjpmCiAgICBmKCk7IC8vOjpuczo6ZgogICAgbnM6OmYoKTsgLy9lcnJvciwgYW1iaWd1b3VzCn0=
prog.cpp: In function ‘int main()’:
prog.cpp:25: error: reference to ‘ns’ is ambiguous
prog.cpp:4: error: candidates are: namespace ns { }
prog.cpp:10: error: namespace ns::ns { }
-
result: Compilation error (maybe you wish to see an example for C++ 4.7.2)


