va_arg
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

- New to FreeBASIC

See also

- `... (Ellipsis)`
- `va_first`
- `va_next`