[英]How can I convert enum in C++ code into C
我正在將C ++代碼轉換為C代碼。 這是需要轉換的代碼-
struct new{
enum new_enum:uint8_t {
head = 1,
tail = 2,
data = 3,
};
};
如何轉換呢? 有人可以解釋枚舉中的uint8_t嗎? 是否將所有變量都分配給uint8_t?
您提供的代碼無法在C ++中編譯,因為結構名稱是new
。
無論如何,您可以嘗試刪除:uint8_t
。 這會將強類型的enum
更改為標准C enum
。 如果幸運的話,一切都會正常。 如果您在任何其他方面都使用head
, tail
或data
,則將無法使用。 你可以這樣做:
enum new_enum {
new_enum_head = 1,
new_enum_tail = 2,
new_enum_data = 3,
};
丑陋,但可能會起作用。 當然, enum
必須脫離其定義的struct
。這同樣會引起很多麻煩,但可能性較小。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.