Examples of function declarations
The following code fragments show several function declarations
(or prototypes). The first declares a function
f
that
takes two integer arguments and has a return type of void
:
void f(int, int);
This fragment declares a pointer
p1
to a function
that takes a pointer to a constant character and returns an integer:
int (*p1) (const char*);
The following code fragment declares a function
f1
that
takes an integer argument, and returns a pointer to a function that
takes an integer argument and returns an integer: int (*f1(int)) (int);
Alternatively, a
typedef
can be used for the complicated
return type of function f1
: typedef int f1_return_type(int);
f1_return_type* f1(int);
The following declaration is of an external function
f2
that
takes a constant integer as its first argument, can have a variable
number and variable types of other arguments, and returns type int
.
int extern f2(const int, ...); /* C version */
int extern f2(const int ...); // C++ version
Function
f6
is a const
class
member function of class X
, takes no arguments, and
has a return type of int
: class X
{
public:
int f6() const;
};
Function
f4
takes no arguments, has return type void
,
and can throw class objects of types X
and Y
.
class X;
class Y;
// ...
void f4() throw(X,Y);