Am 04.03.2018 um 18:45 schrieb Sven Barth via fpc-pascal:
On 04.03.2018 18:06, Bernd Oppolzer wrote:
Are procedure and function parameters allowed in Free Pascal?
When I tried to compile the Man-or-boy example program (Knuth's test),
FPC complained with a syntax error:
c:\work\pascal\work>fpc manorboy.pas
Free Pascal Compiler version 3.0.0 [2015/11/16] for i386
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling manorboy.pas
manorboy.pas(41,28) Fatal: Syntax error, "identifier" expected but
"FUNCTION" found
Fatal: Compilation aborted
Error: C:\FPC\3.0.0\bin\i386-win32\ppc386.exe returned an error exitcode
This is the place where the function parameter appears in the
definition of the function A:
function A ( K : INTEGER ; function X1 : INTEGER ; function X2 :
INTEGER ; function X3 : INTEGER ; function X4 : INTEGER ;
function X5 : INTEGER ) : INTEGER ;
There is only one solution that currently really will work with that
kind of code: use {$mode iso} at the top of the file to use the ISO
Pascal compatible mode.
In theory it should also be possible to use another mode plus
{$modeswitch nestedprocvars}, but that doesn't play nicely with the call
to A inside of B as the compiler seems to call the X4 parameter while it
shouldn't...
Regards,
Sven
Thanks,
mode iso worked without problems;
the results were as expected.
Kind regards
Bernd
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal