Re: Procedural parameters
Adriaan van Os via fpc-pascal <[email protected]>
| Newsgroups | gmane.comp.compilers.free-pascal.general |
|---|---|
| Message-ID | <[email protected]> |
Michael Van Canneyt via fpc-pascal wrote: > > > 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. It can in iso and macpascal mode. Read the Pascal standard. > 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; Not really. The function type declaration is a Borland invention, not original Pascal. Regards, Adriaan van Os _______________________________________________ fpc-pascal maillist - [email protected] https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal