The static storage class specifier
A function declared with the static storage
class specifier has internal linkage, which means that it may be called
only within the translation unit in which it is defined.
The static storage class specifier can
be used in a function declaration only if it is at file scope. You
cannot declare functions within a block as static.
This use of static is
deprecated in C++. Instead, place the function in the unnamed namespace. 