Qt或者C++:怎么判断一个数和一组数中的其中一个相同,那组数暂时用枚举定义。
我定义了一个枚举enumID{SETUP=0x11,RUN=0x12,STOP=0x13,DOWN=0x14}MessageId;我现在得到一个数MsgId=0x14;我...
我定义了一个枚举
enum ID{
SETUP = 0x11,
RUN = 0x12,
STOP = 0x13,
DOWN =0x14
}MessageId;
我现在得到一个数
MsgId = 0x14;
我想比较假如MsgId 与枚举中的一个匹配的话,就打印匹配。
该如何实现,假如枚举不好实现有没有别的方法,别用数组来存枚举中的东西。 展开
enum ID{
SETUP = 0x11,
RUN = 0x12,
STOP = 0x13,
DOWN =0x14
}MessageId;
我现在得到一个数
MsgId = 0x14;
我想比较假如MsgId 与枚举中的一个匹配的话,就打印匹配。
该如何实现,假如枚举不好实现有没有别的方法,别用数组来存枚举中的东西。 展开
展开全部
枚举和数组是两个概念。
enum ID{
SETUP = 0x11,
RUN = 0x12,
STOP = 0x13,
DOWN =0x14
}MessageId;
MsgId = 0x14;
switch(MsgId )
{
case SETUP : printf("SETUP \n");break;
case RUN : printf("RUN \n");break;
case STOP : printf("STOP \n");break;
case DOWN : printf("DOWN \n");break;
}
enum ID{
SETUP = 0x11,
RUN = 0x12,
STOP = 0x13,
DOWN =0x14
}MessageId;
MsgId = 0x14;
switch(MsgId )
{
case SETUP : printf("SETUP \n");break;
case RUN : printf("RUN \n");break;
case STOP : printf("STOP \n");break;
case DOWN : printf("DOWN \n");break;
}
追问
你的做法和我想的很像,我要是没有别的办法,我就采纳你的。
我之所以说数组,其实我的意思是,我只是判断一个数和一组数中的一个匹配,但是我不想用数组加循环查找来做,想用别的方法,比如把这组数用枚举来实现。所以我想用别的方法来实现。
追答
枚举是可以直接判断的,数组是要循环查询。最后用下标来分配做什么!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询