Can a class share a namespace#39;s name?(一个类可以共享一个命名空间的名称吗?)
问题描述
以下 C++ 代码有效吗?
Is the following C++ code valid?
namespace Foo
{
class Bar
{
// Class code here.
};
}
namespace Foo
{
namespace Bar
{
void SomeFunction();
{
// Function code here.
}
}
}
也就是说,可以有一个与类同名的命名空间吗?
In other words, can there be a namespace with the same name as a class?
推荐答案
你不能有你的问题的安排,因为没有办法消除 Bar
的歧义.
You cannot have the arrangement you have in your question because there is no way to disambiguate Bar
.
我的编译器说:
error C2757: 'Bar' : a symbol with this name already exists and therefore this name cannot be used as a namespace name
这篇关于一个类可以共享一个命名空间的名称吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!