2013-04-08 2 views
6
if(someCondition) 
    int a=10;//Compilation Error 
else if(SomeOtherCondition){ 
int b=10;//no compilation Error 
} 

Почему это происходит.Почему возникает ошибка компиляции в первом случае. Если я поместил фигурные скобки, то ошибка компиляции, но если скобки оператора не являются обязательными, если это один оператор.Переменная декларация в случае, если статья

ответ

8

Вам необходимо определить область действия int a в if statement, и она будет определена с фигурными фигурными скобками {}.

if(someCondition){ 
    int a=10; // works fine 
}else if(SomeOtherCondition){ 
    int b=10; //works fine 
} 
+1

Спасибо это идеальная причина, я думаю, – Krushna

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 
} 
Смежные вопросы