在定义变量:
case COMMAND_SETFSPEED:
float nSpeed = 1;
if(nSpeed >= 0.125)
nSpeed/=2;
else
nSpeed=1;
...
编译报错:
a label can only be part of a statement and a declaration is not a statement
有点云里雾里,理解不了。不过想起case的老问题,尝试在case下加入大括号{}解决:
case COMMAND_SETFSPEED:
{
float nSpeed = 1;
if(nSpeed >= 0.125)
nSpeed/=2;
else
nSpeed=1;
...
}
一般因为作用域的问题,case如果不加{}会出现各种报错提示。还比如:
initialization of 'nSpeed ’ is skipped by ‘default’ label
不同的编译器可能说法不一样。