#a label can only be part of a statement and a declaration is not a statement
#问题现象
xxxxxxxxx.c:2697:5: error: a label can only be part of a statement and a declaration is not a statement
struct v4l2_input input1;
^~~~~~
xxxxxxxxx.c:2698:5: error: expected expression before ‘int’
int index;
^~~
#问题分析
case 之后的’A’为一个label,随后定义的变量由于没有明确的作用域而会报错。
#处理方法
- 将此case的处理内容用{}包括起来;
- 将变量定义到switch之外。
#问题衍生
在switch里面,case之外,不要定义变量,因为这些语句都会被忽略,进入switch后会直接寻找case,而忽略其它语句。