当前位置: 首页 > news >正文

解决warning: #188-D: enumerated type mixed with another type问题

出现问题处如下, 指示在代码的某处将枚举类型与另一种类型混合使用,这种警告通常在将枚举类型与其他类型进行操作或赋值时出现

enum Mode
{MODE_IDLE,MODE_1,MODE_2,MODE_3,MODE_4,
};
enum Mode currentMode = MODE_IDLE;currentMode = (currentMode + 1) % 5;

解决:

将枚举类型转换为整数类型进行操作,如下所示,将 (currentMode + 1) % 5 的结果转换回枚举类型 enum Mode,这样就避免了警告。

enum Mode {MODE_IDLE,MODE_1,MODE_2,MODE_3,MODE_4,
};enum Mode currentMode = MODE_IDLE;
currentMode = (enum Mode)((currentMode + 1) % 5);

注意,强制转换回枚举类型时,请确保结果在枚举类型的取值范围内。(currentMode + 1) % 5 的结果在0到4之间,恰好对应枚举类型中的取值范围,因此进行转换是安全的。

http://www.lryc.cn/news/249186.html

相关文章:

  • docker的知识点,以及使用
  • WTM(基于Blazor)问题处理记录
  • ubuntu 安装 towhee
  • ERP软件对Oracle安全产品的支持
  • Linux 基础-常用的命令和搭建 Java 部署环境
  • c语言总结(解题方法)
  • Webpack的ts的配置详细教程
  • 传智杯第五届题解
  • Android 通过demo调试节点权限问题
  • 邮政快递物流查询,将指定某天签收的单号筛选出来
  • Java 8 lambda的一个编译bug
  • 无人机覆盖路径规划综述
  • 【代码随想录】算法训练计划37
  • 网络基础_1
  • 机器学习:DBSCAN算法(效果比K-means好)
  • 在Spring Boot中隔离@Async异步任务的线程池
  • FFmpeg架构全面分析
  • OAuth(开放授权)介绍
  • Online ddl和replace ddl
  • WEB渗透—反序列化(九)
  • 蓝桥杯day02——第三大的数
  • linux shell中set -e命令的作用
  • linux shell 字符替换命令
  • Vue3生命周期函数(简述题)
  • 11月29日,每日信息差//雷军个人向武汉大学捐赠13亿元现金//看电视默认设置新规一览:开机广告不超 5 秒、不设置一键付费
  • 融资经理简历模板
  • iptables防火墙之SNAT与DNET
  • mysql使用--备份与恢复
  • 【vue实战项目】通用管理系统:信息列表,信息录入
  • 【驱动】SPI驱动分析(六)-RK SPI驱动分析