Function definitions
The elements of a function definition are as follows:
- Function storage class specifiers, which specify linkage
- Function return type specifiers, which specify the data type of a value to be returned
- Function specifiers, which specify additional properties for functions
- Function declarators, which include function identifiers as well as lists of parameters
- The function body, which is a braces-enclosed series of statements representing the actions that the function performs
Constructor-initializers, which are used only in
constructor functions declared in classes; they are described in Constructors (C++ only).- Try blocks, which are used in class functions; they
are described in try blocks (C++ only).

Function definitions take the following form:
Function definition syntax (C++ only)
Notes:
- 1 This syntax is valid only in the C++11 standard.
- 2 This syntax is valid only in the C++11 standard.

Note: When function_declarator incorporates
a trailing return type, return_type_specifer must
be
auto. For more information about trailing return
type, see Trailing return type (C++11).
