当存在与枚举成员同名的局部变量时,可以通过使用枚举类型名称加上作用域解析运算符"::"来引用该枚举成员。
例如,假设有以下枚举类型定义:
enum Color {
RED,
GREEN,
BLUE
};
void foo() {
int RED = 1;
// 引用枚举成员RED
Color color = Color::RED;
}
在函数foo()
中,存在一个与枚举成员RED
同名的局部变量。为了引用枚举成员RED
,我们可以使用Color::RED
来明确指定引用的是枚举成员。
需要注意的是,如果没有使用作用域解析运算符"::",编译器会优先选择局部变量,而不是枚举成员。因此,在存在同名局部变量的情况下,使用作用域解析运算符来引用枚举成员是一种良好的编程习惯。
领取专属 10元无门槛券
手把手带您无忧上云