一个类可以共享一个命名空间的名称吗?

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

这篇关于一个类可以共享一个命名空间的名称吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:一个类可以共享一个命名空间的名称吗?

基础教程推荐