>>159
C99では、
ISO/IEC 9899:1999 6.7.5.3 14
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. The empty list in a function declarator that is not part of a
definition of that function specifies that no information about the number or types of the
parameters is suppllied
という風に、関数の定義を伴うときの宣言と、関数定義を伴わないときの宣言で、扱いが違います。
今は int main() { ... } がC99 に準拠しているかどうかが問題になっていますので、
関数定義を伴うときの宣言について考えると、この場合は int func(void) と int func() はまったく同じ no parameters の意味になっています。
>>127 の foo(), bar(void) はどちらも関数の定義を伴う関数の宣言ですから、C99 で考える限り foo() は foo(void) と一緒です。