2010/5/3 spir ☣ <denis.s...@gmail.com>:
> Hello,
>
> A few questions on the topic:
>
> * Is it possible to define an optional parameter without default value?
>
> * Is it at all possible for an optional *argument* not to be the last in 
> actual call? Eg
>     procedure p(a:Integer=0 ; b:Integer=0)
>  How can the caller pass b and not a?

No and no.

> * The ref states: "For dynamic arrays or other types that can be considered 
> as equivalent to a pointer, the only possible default value is Nil."
> Does this apply to any non-atomic type? Which are the "other types that can 
> be considered as equivalent to a pointer"?

Class, AnsiString.

> Tried with a record, but cannot make it be accepted by the compiler. Needed 
> to change the
> parameter to be a pointer to the record instead (so the default can be nil), 
> but this creates a
> trap for the calling code.
> Else, is there a common trick or workaround?
>

What trap?

-Flávio
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to