让我有以下计划。我想在运行时将值赋给枚举成员。我该怎么办?
typedef enum test{
a, b
}test;
typedef struct abc{
test Test;
}abc;
int main(){
abc ab;
ab.Test.a = 5;//Throwing an error as "Expression must have class type"
return 0;
}
请帮帮我。
答案 0 :(得分:3)
首先,枚举值是常量,因此,以后不能在代码中更改它们。
其次,我不知道你要做什么..
答案 1 :(得分:3)
出于清晰原因,enum
只是为某些constants
提供名称的方法。
它可能很有用,因为与defines
相反,您为变量设置的名称(通常)不会被编译器丢弃,因此您可以在使用调试器执行程序时看到它们。
如果要重新组合变量并为其设置值,请改用structures
。
答案 2 :(得分:1)
你是说这个,而不是?
typedef struct test{
int a, b;
} test;
typedef struct abc{
test Test;
} abc;
int main(){
abc ab;
ab.Test.a = 5;
return 0;
}