【问题标题】:How to set enum to public in namespace C++如何在命名空间 C++ 中将枚举设置为公共
【发布时间】:2013-09-08 13:42:52
【问题描述】:

如何将命名空间中的枚举设置为公共,以便可以在代码中的任何位置访问它? 我正在尝试将 C# 程序转换为 c++

我放了

namespace foo {
public: enum foo{}
}

但这显然行不通。 有什么建议吗?

【问题讨论】:

  • 它已经公开了。要获得更准确的转换,您需要enum class。

标签: c# c++ enums namespaces public


【解决方案1】:

在 C++ 中,命名空间中的任何内容都是公共的。只需使用:

namespace foo {
    enum foo {
        bar,
        baz
    };
}

【讨论】:

    【解决方案2】:

    虽然它已经是公开的,因为它是在命名空间中定义的。也许你可以这样尝试:-

    namespace foo
        {
            class ABC
            {
                public:
                    enum foo
                    {
                        GOOD,
                        BAD
                    };
            }
        }
    

    【讨论】:

      【解决方案3】:

      访问说明符(public、protected 和 private)仅适用于类成员和继承。命名空间与它们无关。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-22
        • 1970-01-01
        • 1970-01-01
        • 2011-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-17
        相关资源
        最近更新 更多