When reading through some answers to this question, I started wondering why the compiler actually does need to know about a function when it first encounters it. Wo
The main reason will be to make the compilation process as efficient as possible. If you add an extra pass you're adding both time and storage. Remember that C++ was developed back before the time of Quad Core Processors :)