Hello World! I'm talking about function prototypes. C++ is a single pass compiler. That means that it looks at one line at a time, from top to bottom. When the compiler sees a function call, it needs to check if you are calling the function correctly. That means that the calling statement has the right number of arguments, in the right order. If it is a void function you can't use it in cout, or use as a value in any way. You can let the compiler know the correct usage of a function in one of two ways: You can put the code for the function, the function definition, before any call to it. Or, you can write just the function prototype (the first line of the function) before any call to it, and write the function definition later in the program. Both of these programs below do the same thing. However, many programmers (and bosses!) prefer that all of the function prototypes are before main, and all of the function definitions are later. If you write large programs, you may use functions that are in a separate file. It is important to be able to write your program both ways.