Почему первый , если компилируется хорошо, а второй - нет?
, если
if(proceed) {int i;} // This compiles fine. if(proceed) int i;// This gives an error. (Syntax error on token ")", { expected after this token)