[fpc-pascal] Re: fpc-pascal Digest, Vol 72, Issue 35
Roger Bailey
rb at doc.ic.ac.uk
Mon Jun 14 12:29:55 CEST 2010
On 12 Jun 2010, at 11:00, Michael Van Canneyt wrote:
>>> TestFunction := ActualParameter ( ) ; { compiles and runs o.k. }
>>>
>>
> [MVC:] The addition of () actually calls the function.
>
>>> TestFunction := ActualParameter ; { gives "incompatible type" error, but ... }
>
> [MVC:] Here you try to assign the ActualParameter (a function pointer) to the
> result (an integer). This of course gives a type error.
>
>>> TestFunction := NamedFunction ; { ... compiles and runs o.k. }
> [MVC:] This is simply a regular function call.
Sorry, but this simply wrong. The LRG (page 95) does not require an "actual parameter list" for a syntactically correct function call.
The call should be excecuted except in one case (LRG page 96) "... the compiler will not execute the function call ... when assigning a value to a procedural type variable". This is clearly not such a case.
Roger Bailey
P.S. The LRG has a minor error on page 121: "out parameter" appears twice as an alternative for "parameter declararion"
More information about the fpc-pascal
mailing list