C中写成int main()之所以能编译通过,是因为C语言的函数链接符仅由函数名即调用约定来生成(相当于C++中的extern "C"),举个例子,以下代码代码能编译链接成功
void foo();
int main( double x )
{ foo( 1 );
}
void foo( int a, int b )
{
}C++因为支持重载,所以函数链接符和形参也有关系,但对于main函数,必须和C语言保持一致(否则无法链接),所以仅就 int main( double x ) {} 而言,也是可以编译通过的