C++ 解决enum redeclaration的冲突
为什么80%的码农都做不了架构师?>>>
【问题】如果声明了两个不同的enum,但enum中的元素一样,在编译时就会报错enum redeclaration
enum Identity
{UNKNOWN = 1,CHECKED = 2,UNCHECKED = 3
};enum Status
{UNKNOWN = 0,PENDING = 1,APPROVED = 2,UNAPPROVED = 3
};
【解决】
如果是C++11,则可以考虑将enum声明改为enum class声明,具体如下:
enum class Identity
{UNKNOWN = 1,CHECKED = 2,UNCHECKED =3
};enum class Status
{UNKNOWN = 0,PENDING = 1,APPROVED = 2,UNAPPROVED =3
};int main ()
{Identity::UNKNOWN;Status::UNKNOW;
}
如果不是C++11,则可以考虑用下面的方法:
struct Identities
{enum Type{UNKNOWN = 1,CHECKED = 2,UNCHECKED = 3};
};typedef Identities::Type Identity;struct States
{enum Type{UNKNOWN = 0,PENDING = 1,APPROVED = 2,UNAPPROVED = 3};
};typedef States::Type Status;// usage
Identity identity = Identities::UNKNOWN;
Status status = States::UNKNOWN;
转载于:https://my.oschina.net/shou1156226/blog/1204654
C++ 解决enum redeclaration的冲突相关推荐
- SpringBoot多线程环境下,解决多个定时器冲突问题
欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/cssnnd/article/details/108328942 战术分析: 实际开发项目中一定不 ...
- Maven解决jar包版本冲突
jar冲突原因: jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突.可以看下下图. B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题. 依赖调 ...
- Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区
Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...
- 解决visio和office365冲突,无法安装visio问题
本教程用于解决office365和visio冲突,无法安装visio问题 目前系统中已经安装Office365 尚未安装visio专业版本 1.下载office增强工具. office增强工具下载地址 ...
- IP地址冲突怎么办? 如何解决局域网IP地址冲突?
IP地址冲突怎么办? 如何解决局域网IP地址冲突? 在同一个局域网里如果有两个用户同时使用了相同的IP地址,或者一个用户已经通过DHCP得到了一个IP地址,而此时又有其他用户以手工分配方式设定了与此相 ...
- Springboot定时器多线程解决多个定时器冲突问题
使用场景 : 我们的订单服务,一般会有一个待支付订单,而这个待支付订单是有时间限制的,比如阿里巴巴的订单是五天,淘宝订单是一天,拼多多订单是一天,美团订单是15分钟- 基金系统中,如何同时更新多个存储 ...
- 解决Eclipse SVN文件冲突详解
在使用Eclipse SVN插件进行团队开发的过程,假设开发人员A和B都获取了同一个文件的最新版本(假如版本号为8),并都对其进行了改动,成员A已经提交了自己所作的改动(版本号变为9),如果此时成员B ...
- java enum valueof_Java 解决Enum.valueOf找不到枚举出现的异常
由于Enum.valueOf匹配不到枚举时会出现异常,这个可以用try...catch来解决,但是这样会导致代码往臃肿的道路上越走越远. 本文与其说是解决Enum.valueOf找不到枚举出现的异常还 ...
- 解决jsqlparser 依赖版本冲突
方式一 <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlpars ...
最新文章
- java感谢_这三天看完Java入门第一季和第二季的成果!纪念一下!感谢Java入门的作者!...
- 搜索引擎是怎么删除重复网页的
- 这个 “少年黑客”,用黑科技守护独居老人
- align_center在JAVA_margin:0 auto与body{text-align:center;}实现元素居中的区别
- 计算机三级网络操作题,计算机等级考试三级网络技术考试模拟试题
- 最简单的docker教程:在docker里运行nginx服务器
- java电信计费项目论文_基于JAVA开发的电信IP计费系统设计毕业论文
- arcgis vue 添加图层优化_行业 | ArcGIS制图技巧(超全)
- Win10系统装载ISO出现问题的解决方案
- 【NOIP2015】【Vijos1979】信息传递(有向图最小环大小)
- R语言初级教程: R编程环境的搭建
- Ubuntun系统查看系统版本和Python版本的方法
- golang学习的点点滴滴:异常处理 defer, panic, recover
- 21款网页版html5小游戏源码
- sql获取当前时间精确到秒的字符串
- 【接口测试】Jmeter+ant安装及简单使用教程(集成)
- python爬取网易云音乐问题陈述_Python爬取网易云音乐热门评论
- 泛函分析 06.03 线性算子的谱理论 - 有界自共轭线性算子的谱
- Redmi Note 4X adb指令卸载应用
- 想考阿里云acp证书,报哪个机构好?