C ++如何使用也包含此类的类的枚举

时间:2016-06-18 04:30:18

标签: c++ templates enums constants forward-declaration

我有以下问题:

class Bar
{
    std::array<int, Foo::Baz::LEN> array;
};

class Foo
{
    Bar bar;
public:
    enum class Baz
    {
        VAL_1 = 0, VAL_2, LEN
    };
}

有没有办法将枚举类的声明与Foo分开,同时将其保存在class Foo的命名空间中?

1 个答案:

答案 0 :(得分:1)

你做不到。

您需要在enum定义之前移动Bar的定义,或在Bar内定义。