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;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章