0 c enums compiler-errors switch-statement
我有enum
头文件.
typedef enum{
up = 8, down = 2, left = 4, right = 6
}direction;
Run Code Online (Sandbox Code Playgroud)
我想使用枚举来识别移动的类型.像这样:
void sayTypeOfMove(int type){
switch(type){
case direction.up:
printf("IT IS UP MOVE...");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
代码无法编译,问题出在哪里?
当c知道你正在处理枚举时,C理解枚举元素,所以正确的代码就是
void sayTypeOfMove(direction type){
switch(type){
case up:
printf("IT IS UP MOVE...");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这type
是一个非常糟糕的名字,因为它感觉非常像它应该是一个保留的关键字.