C++ 中枚举变量出现定义重复
2017-12-11 15:00
405 查看
在使用C++的枚举过程中会出现枚举变量重复的情况,特别是这两个枚举的作用域相同的情况下,如:
编译的时候,就会报错:
就会出现如上的重复定义的错误。
解决:
C++ 11提供了一种新的枚举类,其枚举的作用域为类:
这样编译的时候就不会出错了。
使用要加上枚举名来限定枚举量:
HOUSE h = HOUSE::big;
COMPUTER c = COMPUTER::small;
enum HOUSE { big, small }; enum COMPUTER { big, small };
编译的时候,就会报错:
错误 1 error C2365: “big”: 重定义;以前的定义是“枚举数” e:\test\qtguitest\win32newmem\maincpp.cpp 20 1 Win32NewMem 错误 2 error C2365: “small”: 重定义;以前的定义是“枚举数” e:\test\qtguitest\win32newmem\maincpp.cpp 22 1 Win32NewMem
就会出现如上的重复定义的错误。
解决:
C++ 11提供了一种新的枚举类,其枚举的作用域为类:
enum class HOUSE { big, small }; enum class COMPUTER { big, small };
这样编译的时候就不会出错了。
使用要加上枚举名来限定枚举量:
HOUSE h = HOUSE::big;
COMPUTER c = COMPUTER::small;
相关文章推荐
- C++头文件中为何添加了#ifndef #define #endif还会出现变量重复定义的问题
- C++ 头文件中为何添加了#ifndef #define #endif还会出现变量重复定义的问题
- c++ 变量的重复定义问题 [multiple definition of] 与模板类
- C++中inline函数的定义可放在头文件中,inline 函数重复出现不会导致连接错误,
- C++在两个类的头文件中相互定义变量,出现超前引用的情况的解决办法
- C++多个头文件重复定义变量问题
- c/c++ 关于变量重复定义 inet_addr it->s_str() == (*it).c_str()
- 解决C/C++语言中全局变量重复定义的问题
- [转]C++学习:防止变量重复定义;头文件重复包含、嵌套包含
- 在C++中定义全局变量时避免重复定义
- 解决C/C++语言中全局变量重复定义的问题
- C/C++语言中全局变量重复定义问题的解决方法
- C++避免变量重复定义
- C++命名空间里面定义变量出现重定义错误
- keil中建立多个c文件时,出现*** ERROR LXX: MULTIPLE PUBLIC DEFINITIONS问题(变量重复定义)。
- C++基础之两个头文件使用同一个变量会重复定义怎么办
- C++中父类成员变量和子类成员变量重复定义及访问方法的深入探究
- C++中字符串变量的定义
- 输出重复出现字符串中最多的一个 C++实现
- 防止变量重复定义、头文件重复包含、嵌套包含