小编典典

使用 C void 参数“void foo(void)”还是不使用“void foo()”更好?

all

什么更好:void foo()void foo(void)?使用 void 它看起来丑陋且不一致,但有人告诉我它很好。这是真的?

编辑:我知道一些旧的编译器会做一些奇怪的事情,但是如果我只使用 GCC,可以void foo()吗?那么会foo(bar);被录取吗?


阅读 64

收藏
2022-05-23

共1个答案

小编典典

void foo(void);

这是在 C 中说“无参数”的正确方式,它也适用于 C++。

但:

void foo();

在 C 和 C 中意味着不同的东西!在 C 中,它的意思是“可以接受任意数量的未知类型的参数”,而在 C 中,它的意思与foo(void).

变量参数列表函数本质上是非类型安全的,应尽可能避免使用。

2022-05-23