This documentation is archived and is not being maintained.

Type Names

Type names are used in some declarators in the following ways:

  • In explicit conversions

  • As arguments to the sizeof operator

  • As arguments to the new operator

  • In function prototypes

  • In typedef statements

A type name consists of type specifiers such as int or the name of a class or struct, in combination with an abstract declarator, as described in Declarations and Abstract Declarators. The abstract declarator has the effect of modifying the base type to produce a pointer, reference or array type. It is not required if specifying a scalar type.

In the following example, the arguments to the strcpy_s function are supplied using their type names. In the case of the strSource argument, const char is the type specifier and * is the abstract declarator:

errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );