In section 3.6.1.2 of both C++ Standard 1998 and 2003 editions,
An implementation shall not predefine the main function. This function shall not be ov
The english you quote does prohibit declaring main to return void. It is allowing variation in the arguments that come in, but not in the return type.
main
void