E2033 変数実パラメータと変数仮パラメータとは同一の型でなければなりません (Delphi)

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

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

変数パラメータの実引数は仮パラメータと正確に同じ型でなければなりません。


program Produce;

procedure SwapBytes(var B1, B2: Byte);
var
  Temp: Byte;
begin
  Temp := B1; B1 := B2; B2 := Temp;
end;

var
  C1, C2: 0..255;     (*Byte と似ているが,同一ではない*)
begin
  SwapBytes(C1,C2);   (*<-- ここでエラーメッセージ*)
end.

{ 引数 C1 と C2 はメモリ上の表現と範囲は Byte と同じだが SwapBytes には使用できない }


program Solve;

procedure SwapBytes(var B1, B2: Byte);
var
  Temp: Byte;
begin
  Temp := B1; B1 := B2; B2 := Temp;
end;

var
  C1, C2: Byte;
begin
  SwapBytes(C1,C2);   (*<-- ここではエラーメッセージなし*)
end.

{ このコードをコンパイルするには C1 と C2 を実際に Byte として宣言しなければならない }