使用结构中定义的枚举作为 C++ 中的大小写常量

Use enum defined in a struct as case constant in C++

我有一个 enum 作为 header 文件中定义的 structure 的成员。 例如,

struct abc{
    enum xyz{
        FIRST =1;
        SEC =2;
    }qw;
};

在我的 .cpp 文件中,我包含了这个 header。我的文件中有一个 switch case,其中这些 enums 将用作 case constants

struct abc az;
switch(az.qw){
case FIRST:....
case SEC:...
default:..
}

但是我收到错误 FIRST is not declared in this scope。如何克服这个问题。

xyz定义在abc的范围内,所以需要

case abc::FIRST:

等等