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

解决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.kler.cn/a/151997.html

相关文章:

  • 回顾Django的第二天
  • python高级练习题库实验1(A)部分
  • U-GAT-IT 使用指南:人脸动漫风格化
  • WTM(基于Blazor)问题处理记录
  • Linux 代码编辑器:vim
  • 网络数据结构skb_buff原理
  • 自动驾驶芯片指标AI算力TOPS和CPU算力DMIPS
  • Oracle很好的自动拼接某个字段的函数listagg使用实例
  • JavaScript 一只青蛙想要过河
  • Android Studio Giraffe版本遇到的问题
  • Windows本地搭建Emby媒体库服务器并实现远程访问「内网穿透」
  • ERP软件对Oracle安全产品的支持
  • 血的教训---入侵redis并免密登录redis所在服务器漏洞复现
  • 珠宝模具3d仿真沉浸式交互展示更易分享传播
  • 文心一言 VS 讯飞星火 VS chatgpt (146)-- 算法导论12.2 1题
  • Django之importlib模块
  • 速达软件全系产品 RCE漏洞复现
  • 异常 Exception 02
  • 【JAVA面向对象编程】--- 探索子类如何继承父类
  • 你好!线性查找【JAVA】