[fpc-pascal] Procedural parameters
Michael Van Canneyt
michael at freepascal.org
Sat Dec 14 12:05:52 CET 2024
On Sat, 14 Dec 2024, Adriaan van Os via fpc-pascal wrote:
>
> Macpascal and Iso pascal have procedural parameters, e.g.
>
> function A( function B: double): double;
>
> Is there a $modeswitch to allow this ? I searched "procedure parameter" and
> "procedural parameter" in the Language Reference, but could not find
> anything.
As far as I know, the above is not allowed. you must declare the callback type explicitly.
TMyFunc = function : double;
function A(B : TMyFunc): double;
This is in line with 'declare before use':
procedure parameter lists cannot be used to declare types.
Similarly, you also cannot write:
function A(B : (one,two,three)) : double;
>
> Also, I wonder if "ISOPROGRAMPARAS" in the Programmer's Guide is spelled
> correctly.
It is, as that is what is used in the compiler: globtype.pas:736
Michael.
More information about the fpc-pascal
mailing list