[英]Assign enum(declared inside a struct) value to a variable of the same enum type inside the struct
我有以下類型的結構
struct enumStruct
{
enum Number
{
zero = 0,
one = 1
};
Number t;
union
{
/* t = 0 */
some_struct_zero zero;
/* t = 1 */
some_struct_one one;
} un;
} v_enumStruct;
我可以按以下方式為v_enumStruct.t
分配一個值嗎?
v_enumStruct.t = v_enumStruct.zero;//Option 1
此外,以下似乎不起作用
v_enumStruct.t = zero; //Option 2 - zero is mistaken as an unavailable variable name
1) zero
不是struct
的成員。 2) struct
內部的enum
未聲明任何成員。 可以在任何地方聲明。 枚舉成員被命名為常量,它們不是變量,並且3) Number
需要enum
限定符:
struct enumStruct
{
enum Number
{
zero = 0,
one = 1
};
enum Number t;
union
{
/* t = 0 */
some_struct_zero zero;
/* t = 1 */
some_struct_one one;
} un;
} v_enumStruct;
您最好移動enum Number { ..};
在struct
外部,因為它在結構內部未做任何事情。 現在您應該可以分配:
v_enumStruct.t = zero;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.