The original is of course perfectly acceptable: 6.7.5.3, paragraph 14, says that
And naturally 5.1.2.2.1 does not claim that the definition of int main must look exactly as given on the page, only that it be consistent with the definition.An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters.