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).
In
addition, for compatibility with GNU C and C++, XL C/C++ allows
you to use attributes to modify the properties of functions.
They are described in Function attributes (IBM extension).
Function definitions take the following form:
Function definition syntax (C only) >>-+-------------------------+--+--------------------+----------> '-storage_class_specifier-' '-function_specifier-' >--+-----------------------+--function_declarator--{------------> '-return_type_specifier-' >--function body--}--------------------------------------------><
Function definition syntax (C++ only) >>-+-------------------------+--+--------------------+----------> '-storage_class_specifier-' '-function_specifier-' >--return_type_specifier--function_declarator-------------------> >--+----------------------------+--{--+-function body-+--}----->< '-:--constructor-initializer-' '-try-block-----'