项目中两个不同的枚举enum中变量名相同的情况

比如现在有两个枚举

点击查看代码
//机械臂运行时的状态
enum AxisRunStatue
{
    Disabled,//未使能
    Standstill,//停止
    Moving,//运动中
    Homing,//回零中
    Alarm,//报警
};
enum MachineState
{
    Disconnected,//未连接
    Idle,//待机
    Homing,//回零中
    Ready,//就绪
    Running,//运行中
    Paused,//暂停
    Alarm,//报警
    Completed,//完成
};
虽然这两个枚举的名不一样,但是里面的成员有重名的,那就会**报错,所以要避免这种枚举中变量重名的情况** 解决方法就是在其中一个枚举后加入"class"像这样
点击查看代码
enum  class MachineState
{
    Disconnected,//未连接
    Idle,//待机
    Homing,//回零中
    Ready,//就绪
    Running,//运行中
    Paused,//暂停
    Alarm,//报警
    Completed,//完成
};
但是这样做后,**如果之后用枚举转int类型时记得要用static_cast()进行类型转化**

posted on 2026-07-22 15:28  dd_l  阅读(2)  评论(0)    收藏  举报