### Function Macro

# GObject VALUE_COLLECT

#### Declaration [src]

    #define G_VALUE_COLLECT (
      value,
      var_args,
      flags,
      __error
    )

#### Description [src]

Collects a variable argument value from a `va_list`.

We have to implement the varargs collection as a macro, because on some systems `va_list` variables cannot be passed by reference.

Note: If you are creating the `value` argument just before calling this macro, you should use the G_VALUE_COLLECT_INIT() variant and pass the uninitialized `GValue`. That variant is faster than G_VALUE_COLLECT().

This function is not directly available to language bindings.

#### Parameters

`value`

  Type: `-`

  A `GValue` return location. `value` is supposed to be initialized according to the value type to be collected.

`var_args`

  Type: `-`

  The va_list variable; it may be evaluated multiple times.

`flags`

  Type: `-`

  Flags which are passed on to the `collect_value()` function of the `GTypeValueTable` of `value`.

`__error`

  Type: `-`

  A #gchar** variable that will be modified to hold a `g_new()` allocated error messages if something fails.