枚举的使用 - 全局和本地
Usage of enum - global and local
我只是尝试使用与本地定义同名的全局定义的枚举。
除了起点之外,我使用相同的值进行了初始化。
enum Day {Sunday = 1 ,Monday,Tuesday,Wednesday,Thursday,Friday /*= 15 */,Saturday};
void enumUse() {
enum Day {Sunday = 2 ,Monday,Tuesday,Wednesday,Thursday,Friday /*= 15 */,Saturday};
Day today = Tuesday;
cout<<Sunday<<endl;
cout<<Monday<<endl;
cout<<Tuesday<<endl;
cout<<Wednesday<<endl;
cout<<Thursday<<endl;
cout<<Friday<<endl;
cout<<Saturday<<endl;
cout<<"Today: "<<today;
cout<<endl;
}
此代码片段给出本地枚举的输出。
如果将其注释掉,它将给出与全局 1 相关的输出。
如何在不注释本地枚举的情况下使用全局枚举。
可以使用
范围解析运算符,因为全局Day
是在全局范围内定义的
//'Day' from global scope
::Day today = ::Tuesday; //'Tuesday' also needs it because it would take the local one,
//which can't be assigned to the global 'Day' (they're different
//enums after all)
相关文章:
- 不带大括号的枚举形式
- 枚举环境变量的惯用C++14/C++17方法
- 类似枚举的计算常量
- 如何正确实现和访问运算符的各种自定义枚举器
- 错误:从"int"到枚举c++的转换无效
- C++中构造函数中的枚举
- 访问在 C++ 结构中声明的枚举变量
- 枚举类'classname'的多重定义
- 强枚举类型定义:Clang Bug 还是 C++11 标准不确定性?
- typedef 枚举和枚举类有什么区别?
- 将C 枚举类成员拉入全局名称空间
- 将全球枚举的全局枚举更改为函数中的int值
- 枚举的使用 - 全局和本地
- C :枚举类型作为模板参数 - 全局范围
- 使结构内定义的枚举具有全局范围C++
- is_error_code_enum<>枚举必须仅在全局命名空间中定义?
- C++中默认初始化的全局强类型枚举是什么
- 全局变量和枚举之间的作用域问题
- c++中的全局枚举
- 全局作用域枚举和命名空间冲突