Variable Parameter List Considerations
When using variable parameter lists, you should be aware of the following restrictions. (See also "Defining and Using External Dictionary Methods" and "Using Generic Jade Dictionary Methods", later in this chapter.)
De-referencing Variable Parameters in a Jade Method
You cannot de-reference or manipulate individual parameters received in a variable parameter list from within a Jade method.
Usage Restrictions
When using variable parameters in your Jade methods:
-
Only one variable parameter list is permitted for each method. This parameter list must occur as the first or the last item defined in the formal parameters.
-
A parameter list cannot be updated by the read instruction.
-
The declared usage of the variable parameter list applies to all actual parameter values passed when the method is called. For example, if the usage of a variable parameter list is io or output, constants and literals may not be passed.
Variable Parameter Lists Cannot be Amended
You cannot add or remove parameters from a parameter list. When calling a method that has a variable parameter list, the actual parameter must be a list of simple parameters or a parameter list.
Variable Parameter Lists Cannot be Passed to External Functions
Variable parameter lists cannot be passed to external functions, nor can an external function be declared with a formal parameter that is a parameter list.
No External (C++) Representation of Variable Parameter Lists
When an external method is called, Jade expands any parameters in a variable parameter list, along with any fixed parameters, and constructs a single DskParamList parameter.