相关疑难解决方法(0)

课堂上的enum前言可能吗?

我知道在C++ 11中可以转发声明枚举类型(如果提供了存储类型),例如

enum E : short;
void foo(E e);

....

enum E : short
{
    VALUE_1,
    VALUE_2,
    ....
}
Run Code Online (Sandbox Code Playgroud)

但我想转发声明在类中定义的枚举,例如

enum Foo::E : short;
void foo(E e);

....

class Foo
{
    enum E : short
    {
        VALUE_1,
        VALUE_2,
    ....
    }
}
Run Code Online (Sandbox Code Playgroud)

在C++ 11中是否可以这样?

c++ enums nested forward-declaration c++11

17
推荐指数
2
解决办法
9617
查看次数

嵌套枚举的前向声明

我有类似以下代码:

class B
{
}

class A
{
  enum {
     EOne,
     ETwo
  } EMyEnum;

  B myB;
}
Run Code Online (Sandbox Code Playgroud)

我想在类B中声明一个类型为EMyEnum的成员(在A之前声明).这可能吗?我意识到解决方案是将B类声明为秒,但为了清楚起见,我宁愿不这样做.

c++ enums nested forward-declaration

16
推荐指数
1
解决办法
8445
查看次数

标签 统计

c++ ×2

enums ×2

forward-declaration ×2

nested ×2

c++11 ×1