什么更好:void foo()或void foo(void)?使用 void 它看起来丑陋且不一致,但有人告诉我它很好。这是真的?
void foo()
void foo(void)
编辑:我知道一些旧的编译器会做一些奇怪的事情,但是如果我只使用 GCC,可以void foo()吗?那么会foo(bar);被录取吗?
foo(bar);
void foo(void);
这是在 C 中说“无参数”的正确方式,它也适用于 C++。
但:
void foo();
在 C 和 C 中意味着不同的东西!在 C 中,它的意思是“可以接受任意数量的未知类型的参数”,而在 C 中,它的意思与foo(void).
foo(void)
变量参数列表函数本质上是非类型安全的,应尽可能避免使用。