[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