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.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to