I came across a piece of code written by someone else. There are several global functions declared as static in header files. The functions themselves are defined in separate implementation files. AFAIK, static function definition isn't visible outside the translation unit where the function is defined. If so, what is the point of declaring static functions in header files?
// in some header file
static void foo();
// in some implementation file
static void foo()
{
....
....
}