E2237 Parameter '%s' not allowed here due to default value (Object Pascal)

From Appmethod Topics
Jump to: navigation, search

Go Up to Error and Warning Messages (Object Pascal) Index

When using default parameters a list of parameters followed by a type is not allowed; you must specify each variable and its default value individually.


program Produce;

  procedure p0(a, b : Integer = 151);
  begin
  end;

begin
end.

The procedure definitions shown above will cause this error since it declares two parameters with a default value.


program Solve;

  procedure p0(a : Integer; b : Integer = 151);
  begin
  end;

  procedure p1(a : Integer = 151; b : Integer = 151);
  begin
  end;

begin
end.

Depending on the desired result, there are different ways of approaching this problem. If only the last parameter is supposed to have the default value, then take the approach shown in the first example. If both parameters are supposed to have default values, then take the approach shown in the second example.