为什么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的冲突相关推荐

  1. SpringBoot多线程环境下,解决多个定时器冲突问题

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/cssnnd/article/details/108328942 战术分析: 实际开发项目中一定不 ...

  2. Maven解决jar包版本冲突

    jar冲突原因: jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突.可以看下下图. B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题. 依赖调 ...

  3. Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测)、链地址法、再哈希、建立公共溢出区

    Java解决Hash(散列)冲突的四种方法--开放地址法(线性探测,二次探测,伪随机探测).链地址法.再哈希.建立公共溢出区 参考文章: (1)Java解决Hash(散列)冲突的四种方法--开放地址法 ...

  4. 解决visio和office365冲突,无法安装visio问题

    本教程用于解决office365和visio冲突,无法安装visio问题 目前系统中已经安装Office365 尚未安装visio专业版本 1.下载office增强工具. office增强工具下载地址 ...

  5. IP地址冲突怎么办? 如何解决局域网IP地址冲突?

    IP地址冲突怎么办? 如何解决局域网IP地址冲突? 在同一个局域网里如果有两个用户同时使用了相同的IP地址,或者一个用户已经通过DHCP得到了一个IP地址,而此时又有其他用户以手工分配方式设定了与此相 ...

  6. Springboot定时器多线程解决多个定时器冲突问题

    使用场景 : 我们的订单服务,一般会有一个待支付订单,而这个待支付订单是有时间限制的,比如阿里巴巴的订单是五天,淘宝订单是一天,拼多多订单是一天,美团订单是15分钟- 基金系统中,如何同时更新多个存储 ...

  7. 解决Eclipse SVN文件冲突详解

    在使用Eclipse SVN插件进行团队开发的过程,假设开发人员A和B都获取了同一个文件的最新版本(假如版本号为8),并都对其进行了改动,成员A已经提交了自己所作的改动(版本号变为9),如果此时成员B ...

  8. java enum valueof_Java 解决Enum.valueOf找不到枚举出现的异常

    由于Enum.valueOf匹配不到枚举时会出现异常,这个可以用try...catch来解决,但是这样会导致代码往臃肿的道路上越走越远. 本文与其说是解决Enum.valueOf找不到枚举出现的异常还 ...

  9. 解决jsqlparser 依赖版本冲突

    方式一 <dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlpars ...

最新文章

  1. java感谢_这三天看完Java入门第一季和第二季的成果!纪念一下!感谢Java入门的作者!...
  2. 搜索引擎是怎么删除重复网页的
  3. 这个 “少年黑客”,用黑科技守护独居老人
  4. align_center在JAVA_margin:0 auto与body{text-align:center;}实现元素居中的区别
  5. 计算机三级网络操作题,计算机等级考试三级网络技术考试模拟试题
  6. 最简单的docker教程:在docker里运行nginx服务器
  7. java电信计费项目论文_基于JAVA开发的电信IP计费系统设计毕业论文
  8. arcgis vue 添加图层优化_行业 | ArcGIS制图技巧(超全)
  9. Win10系统装载ISO出现问题的解决方案
  10. 【NOIP2015】【Vijos1979】信息传递(有向图最小环大小)
  11. R语言初级教程: R编程环境的搭建
  12. Ubuntun系统查看系统版本和Python版本的方法
  13. golang学习的点点滴滴:异常处理 defer, panic, recover
  14. 21款网页版html5小游戏源码
  15. sql获取当前时间精确到秒的字符串
  16. 【接口测试】Jmeter+ant安装及简单使用教程(集成)
  17. python爬取网易云音乐问题陈述_Python爬取网易云音乐热门评论
  18. 泛函分析 06.03 线性算子的谱理论 - 有界自共轭线性算子的谱
  19. Redmi Note 4X adb指令卸载应用
  20. 想考阿里云acp证书,报哪个机构好?

热门文章

  1. 大学计算机基础毕业论文操作步骤,大学计算机基础教学论文
  2. finalshell连接失败解决方法_Windows 无法连接到SENS的解决方法
  3. javascript之预编译
  4. linux -cpu
  5. Eclipse引入外部Jar在发布时没有自动带入,导致出现ClassNoFound错误
  6. MyISAM 和 InnoDB 讲解
  7. 双系统,重装windows后修复linux的grub启动
  8. 中信国健临床通讯  2011年3月期 目 录
  9. URL中允许携带sessionid带来的安全隐患。
  10. SAP 开发陷阱一箩筐(02)——无法创建客户增强的包含程序