E2012 式の結果は Boolean 型でなければなりません (Delphi)

提供: RAD Studio
移動先: 案内検索

エラーと警告のメッセージ(Delphi) への移動

このエラーメッセージが出力されるのは,ある式が条件として機能しており,したがってその式が論理型でなければならないときです。たとえば,if,while,repeat 文の制御式や,条件ブレークポイントを制御する式の場合などです。


program Produce;
var
  P: Pointer;
begin
  if P then
    Writeln('P <> nil');
end.

{ ここで C++ プログラマは if 文の条件としてポインタ変数を使った }


program Solve;
var
  P: Pointer;
begin
  if P <> nil then
    Writeln('P <> nil');
end.

{ この場合,Delphi ではより明示的に指定する必要がある }