On Thu, 26 Aug 2021, Santi via fpc-pascal wrote:

El 26/08/2021 a las 10:00, Ondrej Pokorny via fpc-pascal escribió:
On 26.08.2021 09:40, Santiago A. via fpc-pascal wrote:
const
  DefaultDelta:extended = 1E-8;
function F(const x:extended; const delta:extended=DefaultDelta):extended;
function G(const x:extended; const delta:extended=DefaultDelta):extended;

But I get "Illegal expression" in the header function declaration.
Const parameters don't accept const expressions?

You need:

const
 DefaultDelta = 1E-8;


Thanks, it works fine.

But I can't see why specifying the type doesn't work;

Because a typed constant behaves more like a variable then like a constant.
A leftover from Turbo Pascal, which used this construct for initialized
variables.

const
  DefaultDelta = Extended(1E-8);

is a real typed constant.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to