在关键字 using namespace
之后,我们不能在命名空间中有一个名为 myfunction
的函数和另一个名为 的函数,这是合乎逻辑的原因吗myfunction
在命名空间之外(具有相同的原型(prototype)),但是我们可以将它用于变量(命名空间中的 myvariable
和它之外的 myvariable
)?
最佳答案
当然,您可以在不同的命名空间中使用具有相同名称和签名的函数——这就是命名空间存在的部分原因。唯一的考虑是,如果你想调用它,你必须限定它的名字。
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
关于c++ - C++中使用命名空间的关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16731432/