if(someCondition)
int a=10;//Compilation Error
else if(SomeOtherCondition){
int b=10;//no compilation Error
}
なぜこれが起こっているのか.なぜ最初のケースでコンパイルエラーがあるのか. 中かっこを入れてもコンパイルエラーは発生しませんが、if ステートメントの場合、中かっこは 1 つのステートメントの場合はオプションです。
if(someCondition)
int a=10;//Compilation Error
else if(SomeOtherCondition){
int b=10;//no compilation Error
}
なぜこれが起こっているのか.なぜ最初のケースでコンパイルエラーがあるのか. 中かっこを入れてもコンパイルエラーは発生しませんが、if ステートメントの場合、中かっこは 1 つのステートメントの場合はオプションです。
int a
inのスコープを定義する必要がありif statement
、中括弧で定義されます{}
。
if(someCondition){
int a=10; // works fine
}else if(SomeOtherCondition){
int b=10; //works fine
}
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
}