使用结构中定义的枚举作为 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:
等等
我有一个 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:
等等