if(someCondition)
int a=10;//Compilation Error
else if(SomeOtherCondition){
int b=10;//no compilation Error
}
为什么会发生这种情况。为什么在第一种情况下出现编译错误。如果我放括号,那么没有编译错误,但if语句括号是可选的,如果它是一个语句。
答案 0 :(得分:8)
您需要在int a
中定义if statement
的范围,并使用花括号{}
进行定义。
if(someCondition){
int a=10; // works fine
}else if(SomeOtherCondition){
int b=10; //works fine
}
答案 1 :(得分:1)
if(someCondition)
int a=10;//Compilation Error - you have to define the scope of int. what scope does it have here? so {} are necessary
else if(SomeOtherCondition){
int b=10;//no compilation Error
}