有一个逻辑上的原因,在关键字using namespace
之后,我们不能在命名空间中使用一个名为myfunction
的函数,而在命名空间之外不能使用另一个名为myfunction
的函数(使用相同的原型),但我们可以为变量(myvariable
在命名空间中,myvariable
在它之外)?
答案 0 :(得分: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