我想輕鬆地追加(從定義十六進制枚舉值)字節到一個NSMutableData,但我有一些類型轉換的問題,這裏是枚舉:從枚舉
typedef enum {
eCodePageAirSync = 0x00,
eCodePageContacts = 0x01,
...
eCodePageRightsManagement = 0x18
} eCodePage;
這裏是我的方法追加字節:
[self.WBXMLData appendBytes:eCodePageContacts length:1];
問題被報告爲警告:
不兼容的整數婆發送'int'到類型爲'const void *'的參數的內部轉換
任何想法都可以通過簡單的方式完成。
Upvoted(儘管我提供了一個不同的答案)爲enum大小和它的怪癖的優秀描述。雖然擔心Objective-C代碼中的可移植性可能被視爲過度消耗,但始終尊重基本原則是件好事。 – StilesCrisis
'enum class'在C++中有其他影響,您可能不想要。 'enum eCodePath:uint8_t'在C++ 11中添加固定的基礎類型而不做其他更改。 –