我尝试了几种变体
main() return;
or
main() if();
并得到了不同的错误,其中最奇特的是
/usr/lib/gcc/i686-linux-gnu/4.4.5/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
虽然程序只需要一条语句的情况并不常见,但为什么 main() 要求使用大括号呢?
有人可以解释为什么在编译 int main(); 时错误如此奇特吗?
因为您正在定义一个名为的函数main()
函数定义基本上就是函数声明(int main()
部分)后跟一个复合语句({ /* ... */ }
部分)(您也可以使用函数 try 块,但这些很少使用,并且仍然需要大括号)。
没有大括号就不能定义任何函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)