A function declaration that provides type information for each parameter. It is the first line of the function (header) followed by a semicolon (;). The declaration is required by the compiler at the time that the function is declared, so that the compiler can check the type.
a declaration of a function that declares the types of its parameters
a function declaration that specifies the data types of its arguments in the parameter list
a multimethod function if one or more of its parameters are qualified with the keyword virtual
A function prototype in C or C++ is a declaration of a function that omits the function body but does specify the function's name, arity, argument types and return type. While a function definition specifies what a function does, a function prototype can be thought of as specifying its interface.