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

问题描述

在C中:

void foo()表示“带有foo未指定类型的未指定数量的参数的函数void foo(void)表示“foo不带参数的函数” 在C ++中:

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

解决方法

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

void foo() { }

void foo(void) { }

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

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”