为什么 main() 需要大括号?

2024-03-15

我尝试了几种变体

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(使用前将#替换为@)

为什么 main() 需要大括号? 的相关文章

随机推荐

  • 在iOS项目中使用Java库

    我正在开发一个项目 需要基于相对复杂的规则集进行业务逻辑计算 计算将在以下平台上执行 安卓应用程序 iOS app Java EE 应用程序容器 业务逻辑不依赖于任何特定于平台的细节 而是严格与 数字运算 有关 为了避免 Java 和 Ob
  • 如何在多线程游戏引擎中保持世界数据同步?

    所以我试图为我想编写的游戏创建一个简单的多线程游戏引擎 到目前为止 一切都很顺利 没有任何问题 我什至知道我必须采取什么步骤才能完成它 只有一件事我不知道 好吧 从技术上讲 我知道它的解决方案 但我希望有更优雅和更快的东西 基本上 我的引擎
  • Retrofit2:将带有动态键的 JSON 转换为 Map,其中 Model 也包含这些键

    我将 Retrofit 2 与 Gson 和 RxJava 结合使用 我的 JSON 数据看起来像这样 groups 1 name First group type some data more data 2 name Second gro
  • 如何以编程方式构建pom文件的有效模型?

    我将以编程方式从 pom 文件创建有效模型 以获取 pom 模型实例中的所有继承属性 我会分析 pom 的一些属性 但我需要它的所有属性 包括 遗传的 我该怎么办 我尝试过 Sonatype Aether 但没有找到示例 您可以运行 mvn
  • 从 NSString 中删除 @"" 或将 NSString 类型转换为变量名

    我从文件中读取 NSString 然后我想将其 define 为 UIColor 以便我可以快速更改颜色 我想要像这样工作的东西 define GRAY UIColor darkGrayColor 然后从文件中读取字符串 GRAY 并将其放
  • 在kotlin中如何使用ViewModel和ViewModelProvider.AndroidViewModelFactory?

    在我当前的项目中 我使用下一行 mViewModel ViewModelProviders of this get MainViewModel class java 例如一个ViewModel but in https developer
  • CMake 是否可以始终强制编译/构建特定文件? [复制]

    这个问题在这里已经有答案了 我有一个 C 文件 使用 DATE 显示我的应用程序的构建日期 但如果这个文件没有被修改 它就不会被重建 日期也不会被更新 CMake 总是可以重建该特定文件吗 显然可以使用 makefile 如何强制 make
  • addChild的正确使用

    我是编码和 AS3 的新手 我正在阅读有关使用 AS3 将内容添加到舞台的内容 并了解了 addChild 方法 阅读更多内容后 我发现有不同的使用方法 我还读到有些方法比其他方法更好 而有些方法根本不好 最好避免 但我不相信这些消息来源
  • 如何获取枚举值的枚举定义?

    object TestEnum extends Enumeration val One Value One val Two Three Value println TestEnum One getClass println TestEnum
  • 如何从 jpeg 文件中的 FFC4 (DHT) 标头创建霍夫曼树?

    我以为我可以自己解决这个问题 但我似乎根本没有进展 好的 背景 我需要根据 jpg 文件中的 FFC4 DHT 定义霍夫曼表 标头提供的信息创建霍夫曼代码树 DHT 标头以这种方式定义 Huffman 表 1 一系列16字节 每个字节定义有
  • Pylint变量名不符合snake_case命名风格

    我收到来自 pylint 的多个警告 如下所示 变量名 df 不符合snake case命名风格 据我所知 这是因为变量名长度小于 3 个符号 但是我想使用 df i x 等变量 因此 我需要添加几个变量名称来检查异常 我尝试将该名称添加到
  • 使用 jquery 突出显示表行

    我知道有很多关于此的帖子 但我不知道为什么我的不起作用 我试图突出显示表中的一行 tr class videorow td td tr css highlight background color a8cb17 最后是我的 jQuery j
  • 如何更改Linux中ipython/jupyter笔记本使用的默认浏览器?

    我使用的是 Linux Mint 17 3 如何更改 Jupyter Notebook 使用的默认浏览器 我已将笔记本安装为 Anaconda 3 的一部分 并在我的默认浏览器 Chrome 中打开 但出于某种原因 Chrome 不允许我创
  • 对抛出异常的控制器进行单元测试

    我有一个具有以下签名的控制器 public CustomerTypeController IHttpContextAccessor accessor IPrincipalProvider provider IMapper mapper IL
  • 在 Cypress 中如何根据名称选择输入元素?

    我开始学习Cypress 我想使用 cypress io 选择输入字段并提供电话号码 我遵循的代码但它不起作用 但是我可以使用 find 还是有其他方法让输入元素输入电话号码 cy get div contains Phone Number
  • LINQ To SQL 动态选择

    有人可以告诉我如何指示我希望在运行时从 LINQ To SQL 语句返回哪些列吗 我允许用户在复选框列表中选择项目 这些项目代表他们希望在绑定到 L2S 查询结果的网格视图中显示的列 我能够动态生成 W HERE 子句 但无法对 SELEC
  • 如何使用 cURL 从 GitHub 下载 tarball?

    我正在尝试使用以下命令从 GitHub 下载 tarballcURL http en wikipedia org wiki CURL 但它似乎没有重定向 curl insecure https github com pinard Pymac
  • 错误:属性“颜色”已定义,更新 appcompat v-7

    我正在尝试将 Android Studio 项目中的 appcompat v7 从 v20 0 0 更新到 21 0 0 以使用材料设计组件 但我总是遇到相同的错误 错误 属性 颜色 已被定义 我不知道如何修复此错误 我在互联网上搜索但无法
  • Python:如何删除['和']?

    我想删除 从一开始和 从字符串末尾开始的字符 这是我的文字 45453656565 我需要这样的文字 45453656565 我尝试过使用str replace text text replace 但它不起作用 您需要通过将不需要的字符传递
  • 为什么 main() 需要大括号?

    我尝试了几种变体 main return or main if 并得到了不同的错误 其中最奇特的是 usr lib gcc i686 linux gnu 4 4 5 lib crt1 o In function start text 0x1