2011-07-18 melis 里面int 不能强制转换成枚举类型的问题原因

  melis 里面int 不能强制转换成枚举类型 !

如 CAT_MEDIA_TYPE_PIC+3 ,编译没有出错,但程序运行起来总是有问题(用数组存放枚举。。都会有问题)。movie总是找不到断点

问题后来找到了:

不是枚举的问题(也不是强制不行等等的问题),而是有两个枚举类型不一样的原因,而我却将它们看成一样的:

typedef enum
{
 CAT_MEDIA_TYPE_ALL,
 CAT_MEDIA_TYPE_PIC,
 CAT_MEDIA_TYPE_AUDIO,
 CAT_MEDIA_TYPE_VIDEO,
 CAT_MEDIA_TYPE_EBOOK,
 CAT_MEDIA_TYPE_GAME,
 CAT_MEDIA_TYPE_FIRMWARE,
 CAT_MEDIA_TYPE_UNKNOWN
}cat_media_type_t;

typedef enum _orc_media_type_e
{                                
 ORC_MEDIA_TYPE_AUDIO = 0,
 ORC_MEDIA_TYPE_VIDEO    ,
 ORC_MEDIA_TYPE_PIC     ,
 ORC_MEDIA_TYPE_EBOOK ,
 
 ORC_MEDIA_TYPE_UNKNOWN = -1
}orc_media_type_e;

 

你可能感兴趣的:(2011-07-18 melis 里面int 不能强制转换成枚举类型的问题原因)