C ++或C中的foo(void)和foo()之间有区别吗?

请考虑以下两个函数定义:

void foo() { }

void foo(void) { }

两者之间有什么区别吗?如果没有,那为什么会有void争论呢?审美原因?

回答:

在C中:

void foo()表示“带有foo未指定类型的未指定数量的参数的函数”

void foo(void)表示“foo不带参数的函数”

在C ++中:

void foo()表示“foo不带参数的函数”

void foo(void)表示“foo不带参数的函数”

foo(void)因此,通过编写,我们可以在两种语言中实现相同的解释,并使标头变为多语言(尽管我们通常需要对标头做更多的事情才能使它们真正成为跨语言;也就是说,extern "C"如果要编译,则将它们包装在C ++)。

以上是 C ++或C中的foo(void)和foo()之间有区别吗? 的全部内容, 来源链接: utcz.com/qa/411957.html

回到顶部