if(someCondition) int a=10;//Compilation Error else if(SomeOtherCondition){ int b=10;//no compilation Error }
为什么会发生这种情况.为什么在第一种情况下出现编译错误.如果我放括号,那么没有编译错误,但if语句括号是可选的,如果它是一个语句.
解决方法
您需要在if语句中定义int a的范围,并使用花括号{}定义它.
if(someCondition){ int a=10; // works fine }else if(SomeOtherCondition){ int b=10; //works fine }