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?
You cannot have the arrangement you have in your question because there is no way to disambiguate Bar
.
My compiler says:
error C2757: 'Bar' : a symbol with this name already exists and therefore this name cannot be used as a namespace name