在switch case语句中显式转换

时间:2013-01-21 20:30:29

标签: c casting switch-statement

我有一个名为label的字符指针,还有一个包含名为“label”的元素的枚举器。如何在案例陈述中区分它们?

switch((I_ARG_TYPES) progrm[i].arg[j].type){
case (I_ARG_TYPES) value:
    break;
case (I_ARG_TYPES) label:
    break;
default:
    break;
}

全球范围:

typedef enum I_ARG_TYPES {
    value, label
} I_ARG_TYPES;

与开关的功能相同:

char label[MAXLINELENGTH]
标签的案例

“案例标签不会减少为”。

1 个答案:

答案 0 :(得分:2)

你做不到。 (同样,如果您执行float printf,则无法在该范围内调用printf()函数。)

解决方案:不要让局部变量与全局范围内的变量相同。