在C中使用void指定空参数列表的相关性

约翰·杰瑞尔(Johann Gerell)

在C ++和C#中完成了我的大部分开发工作后,我发现在C中习惯用“ void”指定一个空参数列表有些特殊,但是在“可信赖的来源”中看到它使我认为它是必需的。问题是为什么

为了弄清楚,例如在Visual Studio中,我不能对启用的C编译器开关和禁用的C ++编译器开关进行任何组合,在编写此代码时,得到的编译器警告甚至不多:

void foo_bar();

然后,是什么使它变得必要,而不是用此声明它:

void foo_bar(void);

难道只是C语言遗留的旧版本而C语言遗忘了吗?

米海·斯坦库(Mihai Stancu)

幕后故事:

在C语言中声明函数(实际上是任何符号)时,您需要以正确的顺序声明所有内容(在使用函数之前先声明一个函数),否则会出现有关未定义符号的错误。

函数的前向声明使您可以通过仅声明函数签名(不包括主体)来实现此目的。这使编译器可以识别函数名称(符号),并在以后对其进行完全定义之前使用它们。

使用前向声明导出库的公共可访问功能时(在公共头文件中),您将声明整个签名,以便库的用户将知道需要哪些参数。

当将前向声明用于内部使用时,您(有时)不需要声明函数的整个签名,仅返回类型和名称就足够了-没有参数。仅当最终定义函数时,才可以指定参数列表。

直接回答:

是的,它只是旧的C标准语言而已。因为相同的C标准语言表示空括号表示未知数量的参数(不一定为0)。

相关阅读:

我前一段时间问过的这个问题试图(像您一样)理解用“数量未知的参数”声明函数的效用-显然是一种非常误解的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Feathersjs 中使用 Winston 显示相关性 ID

来自分类Dev

在C ++中使用方法的参数列表

来自分类Dev

r:在函数中使用参数列表

来自分类Dev

如何将相关性应用于指定的向量,从而遍历文件列表?

来自分类Dev

为什么不能在函数参数列表中使用匿名对象作为参数?C ++

来自分类Dev

在Parsey McParseface中使用了POS标签和相关性标签集的定义?

来自分类Dev

在WHERE子句中使用FULLTEXT搜索的相关性得分

来自分类Dev

在MongoDB聚合框架中使用多个字段按相关性排序

来自分类Dev

在列表内的列表之间查找相关性的效率问题

来自分类Dev

在rake规则中指定任务相关性

来自分类Dev

角度模块相关性列表是否有序?

来自分类Dev

在ramda中使用相同的参数调用函数列表

来自分类Dev

如何在R中使用相关性而不是欧式距离来创建距离矩阵进行聚类?

来自分类Dev

在 R 中使用 Bootstrap 调用用于计算相关性和置信区间的不同列的函数

来自分类Dev

在Keras中指定参数列表

来自分类Dev

如何使用基于许多列的bigquery相关性?

来自分类Dev

无效使用组功能;试图找到皮尔逊相关性

来自分类Dev

使用Python进行PCA分解:功能相关性

来自分类Dev

如何使用Postgresql计算不同组之间的相关性

来自分类Dev

在coffeescript编译的JS上使用SonnarQube的相关性

来自分类Dev

更新HATEOAS的相关性

来自分类Dev

MySQL相关性排序

来自分类Dev

根据相关性填写

来自分类Dev

变量参数列表和空指针

来自分类Dev

为什么在未指定参数列表的情况下委托使用参数?

来自分类Dev

如何修复错误“无法使用类型为((AnyObject !, NSError!)-> Void)的参数列表调用'findObjectInBackgroundWithBlock'

来自分类Dev

无法使用类型为(((NSData !, NSError!)-> Void)'的参数列表调用'getDataInBackgroundWithBlock'

来自分类Dev

使用C#驱动程序从MongoDB集合上的文本查询中检索相关性排序结果

来自分类Dev

根据语义相似性/相关性从列表中删除重复项

Related 相关文章

  1. 1

    在 Feathersjs 中使用 Winston 显示相关性 ID

  2. 2

    在C ++中使用方法的参数列表

  3. 3

    r:在函数中使用参数列表

  4. 4

    如何将相关性应用于指定的向量,从而遍历文件列表?

  5. 5

    为什么不能在函数参数列表中使用匿名对象作为参数?C ++

  6. 6

    在Parsey McParseface中使用了POS标签和相关性标签集的定义?

  7. 7

    在WHERE子句中使用FULLTEXT搜索的相关性得分

  8. 8

    在MongoDB聚合框架中使用多个字段按相关性排序

  9. 9

    在列表内的列表之间查找相关性的效率问题

  10. 10

    在rake规则中指定任务相关性

  11. 11

    角度模块相关性列表是否有序?

  12. 12

    在ramda中使用相同的参数调用函数列表

  13. 13

    如何在R中使用相关性而不是欧式距离来创建距离矩阵进行聚类?

  14. 14

    在 R 中使用 Bootstrap 调用用于计算相关性和置信区间的不同列的函数

  15. 15

    在Keras中指定参数列表

  16. 16

    如何使用基于许多列的bigquery相关性?

  17. 17

    无效使用组功能;试图找到皮尔逊相关性

  18. 18

    使用Python进行PCA分解:功能相关性

  19. 19

    如何使用Postgresql计算不同组之间的相关性

  20. 20

    在coffeescript编译的JS上使用SonnarQube的相关性

  21. 21

    更新HATEOAS的相关性

  22. 22

    MySQL相关性排序

  23. 23

    根据相关性填写

  24. 24

    变量参数列表和空指针

  25. 25

    为什么在未指定参数列表的情况下委托使用参数?

  26. 26

    如何修复错误“无法使用类型为((AnyObject !, NSError!)-> Void)的参数列表调用'findObjectInBackgroundWithBlock'

  27. 27

    无法使用类型为(((NSData !, NSError!)-> Void)'的参数列表调用'getDataInBackgroundWithBlock'

  28. 28

    使用C#驱动程序从MongoDB集合上的文本查询中检索相关性排序结果

  29. 29

    根据语义相似性/相关性从列表中删除重复项

热门标签

归档