0

是否有一个合乎逻辑的原因,在关键字之后using namespace,我们不能在命名空间中调用一个函数,myfunction而在命名空间之外调用另一个函数myfunction(具有相同的原型),但是我们可以将它用于变量(myvariable在命名空间中和myvariable外部) ) ?

4

1 回答 1

1

当然,您可以在不同的命名空间中拥有具有相同名称和签名的函数——这也是命名空间存在的部分原因。唯一的考虑是,如果你想调用它,你必须限定它的名字。

namespace Foo {
    void func();
}

namespace Bar {
    void func();
}

using namespace Foo;
using namespace Bar;

func(); // does not compile -- which func()?

Foo::func(); // ok
Bar::func(); // ok
于 2013-05-24T09:16:13.130 回答