---
title: "getVaList(_:)"
framework: swift
role: symbol
role_heading: Function
path: "swift/getvalist(_:)"
---

# getVaList(_:)

Returns a CVaListPointer that is backed by autoreleased storage, built from the given array of arguments.

## Declaration

```swift
func getVaList(_ args: [any CVarArg]) -> CVaListPointer
```

## Parameters

- `args`: An array of arguments to convert to a C va_list pointer.

## Mentioned in

Using Imported C Functions in Swift

## Return Value

Return Value A pointer that can be used with C functions that take a va_list argument.

## Discussion

Discussion You should prefer withVaList(_:_:) instead of this function. In some uses, such as in a class initializer, you may find that the language rules do not allow you to use withVaList(_:_:) as intended. If you need to pass an optional pointer as a CVarArg argument, use the Int(bitPattern:) initializer to interpret the optional pointer as an Int value, which has the same C variadic calling conventions as a pointer on all supported platforms.

## See Also

### C Variadic Functions

- [withVaList(_:_:)](swift/withvalist(_:_:).md)
- [CVaListPointer](swift/cvalistpointer.md)
- [CVarArg](swift/cvararg.md)
