Returns the current argument from a variable argument list.
Syntax
variable = va_arg ( argument_list, datatype )
Description
The
va_arg macro allows the use of a variable number of arguments within a function.
va_arg returns the current argument in the list,
argument_list, with an expected data type of
datatype. Before
va_arg can be used, it must be Initialized with the command
va_first. Unlike the C macro with the same name,
va_arg does not automatically increment
argument_list to the next argument within the list. The command
va_next must be used for this purpose.
Example
' Note that CDECL is used here --> it must be used with an ellipsis argument (...).
Function Avg cdecl (Count As Integer, ... ) As Double
Dim ARG As Any Ptr
Dim SUM As Double = 0
Dim i As Integer
ARG = va_first()
For i = 1 To COUNT
SUM += va_arg(ARG, Double)
ARG = va_next(ARG,Double)
Next i
Return SUM/COUNT
End Function
Print AVG (4, 3.4,5.0,3.2,4.1)
Print AVG (2, 65.2,454.65481)
Sleep
The output would look like:
3.925
259.927405
Dialect Differences
- Not available in the -lang qb dialect unless referenced with the alias __va_arg.
Differences from QB
See also