A while ago, a wrote a function as part of a program, and unknowingly gave the function the same name as a function in one of the libraries I'd included. I got round the problem by declaring my function as 'static'.
Since then, I now almost out of habit declare every one of my functions as static. Is this a bad thing to do? I don't really understand the implications of a static function.