### Function Macro

# GObject TYPE_CHECK_INSTANCE_CAST

since: 2.0

#### Declaration

    #define G_TYPE_CHECK_INSTANCE_CAST (
      instance,
      g_type,
      c_type
    )

#### Description

Checks that `instance` is an instance of the type identified by `g_type` and issues a warning if this is not the case. Returns `instance` casted to a pointer to `c_type`.

No warning will be issued if `instance` is `NULL`, and `NULL` will be returned.

This macro should only be used in type implementations.

Available since: 2.0

This function is not directly available to language bindings.

#### Parameters

`instance`

  Type: `-`

  Location of a `GTypeInstance` structure.

`g_type`

  Type: `-`

  The type to be returned.

`c_type`

  Type: `-`

  The corresponding C type of `g_type`.