E2153 else の前にはセミコロン (;) があってはなりません (Delphi)
エラーと警告のメッセージ(Delphi) への移動
if..else 文の else の直前にセミコロン「;」があります。セミコロンは文の終わりでなく文の区切りとして扱われます。if..else は 1 つの文であり,複文を使った場合以外,間にセミコロンは入りません。
program Produce; var b : Integer; begin if b = 10 then b := 0; else b := 10; end.
{ Delphi 言語では else 文の直前にはセミコロン「;」を付けられない。そのためにこのコードではエラーが発生する }
program Solve; var b : Integer; begin if b = 10 then b := 0 else b := 10; if b = 10 then begin b := 0; end else begin b := 10; end; end.
{ この問題には 2 つの簡単な解決方法がある。1 つはエラーを起こしたセミコロンを削除する方法である。もう 1 つは if..else の個々の部分に複合文を作成する方法である。$HINTS が ON の場合は,B へ代入した値が決して使用されないというヒントが表示される }