6
if(someCondition)
  int a=10;//Compilation Error
else if(SomeOtherCondition){
int b=10;//no compilation Error
}

为什么会发生这种情况。为什么在第一种情况下会出现编译错误。如果我放大括号,则没有编译错误,但对于 if 语句,如果它是一个语句,则大括号是可选的。

4

2 回答 2

8

您需要定义 in 的范围,int a它将if statement用花括号定义{}

if(someCondition){
  int a=10; // works fine
}else if(SomeOtherCondition){
  int b=10; //works fine
}
于 2013-04-08T04:41:12.617 回答
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
}
于 2013-04-08T04:44:58.510 回答