考虑这两个函数定义:
void foo() { } void foo(void) { }
这两者有什么区别吗?如果不是,为什么会有void争论?审美原因?
void
在 C 中:
void foo()
foo
void foo(void)
在 C++ 中:
因此,通过编写foo(void),我们在两种语言之间实现了相同的解释并使我们的头文件多语言(尽管我们通常需要对头文件做更多的事情以使它们真正跨语言;也就是说,将它们包装在一个extern "C"if 我们正在编译C++)。
foo(void)
extern "C"