c - 如何在 switch 与 integer using 中使用枚举

标签 c enums compiler-errors switch-statement

我在头文件中有 enum

typedef enum{
     up = 8, down = 2, left = 4, right = 6
}direction;

我想使用枚举来识别移动类型。 像这样:

void sayTypeOfMove(int type){

     switch(type){
          case direction.up:
                 printf("IT IS UP MOVE...");
                 break;
     }

}

代码编译不通过,问题出在哪里?

最佳答案

当 C 知道您正在处理该枚举时,它就会理解枚举元素,因此正确的代码应该是

void sayTypeOfMove(direction type){

     switch(type){
          case up:
                 printf("IT IS UP MOVE...");
                 break;
     }

}

顺便说一句,type 是一个非常糟糕的名字,因为它让人觉得它应该是一个保留关键字。

关于c - 如何在 switch 与 integer using 中使用枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31311145/

相关文章:

c - 使用 qsort 函数对结构进行排序

c - qsort() 图结构数组

c# - 可移植类库中的 Type.IsEnum 属性

java - 类分配命理报告Java代码

c - 球近似程序中用户定义归一化函数的奥秘

C/Linux : How to get users login name without `getlogin`

objective-c - 升级到 Xcode 7.3 swift 2.2 后,从 swift 调用 obj-c 枚举不起作用

java - 在 JPA 中从集合中的枚举搜索时类型错误

java - “找不到符号”或“无法解析符号”错误是什么意思?

compiler-errors - "Two terms in a row"错误