我通常会把main函数定义成:void main()。虽然这在VC等编译器里也能通过,但是这个是不对的。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* ... */ } is not and never has been C++, nor has it even been C.( void main( ) 从来就不存在于 C++ 或者 C )。
参考:
http://www.stroustrup.com/bs_faq2.html#void-main
两种定义方式是正确的:
int main( void )
int main( int argc, char *argv[] )