Consider these two function definitions:
void foo() { } void foo(void) { }
Is there any difference between these two? If not, why is the <
In C, you use a void in an empty function reference so that the compiler has a prototype, and that prototype has "no arguments". In C++, you don't have to tell the compiler that you have a prototype because you can't leave out the prototype.