If a function declaration is present and includes declared argument types,
the compiler performs type checking. If no function declaration is
visible when a function is called, or when an expression appears as an
argument in the variable part of a prototype argument list, the compiler
performs default argument promotions or converts the value of the expression
before passing any arguments to the function. The automatic conversions
consist of the following:
Function declarations in C++ must always specify their parameter types.
Also, functions may not be called if it has not already been declared.
Related References
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.