答案 0 :(得分:7)
C ++没有区别,它定义为0表示参数。
然而它确实在C中生成一个。(void)
的函数表示没有参数,而()
表示任意数量的参数。
函数定义中的空参数列表表示函数 没有参数。函数声明中的空参数列表 表示函数可以使用任何数量或类型的参数。因此,
int f() { ... }
表示函数f不带参数。然而,
int f();
只是表示参数的数量和类型未知。 要明确指出函数不带任何参数,您应该这样做 使用关键字
void
定义函数。
答案 1 :(得分:6)
C++
没有区别
第二个声明只是明确地说该函数没有参数。
第二种更常用于C
,第一种是C++
中更常见的一种。
C
的情况有所不同,因为:
使用(void)
,您指定该函数没有参数,而使用()
时,您指定参数未指定(参数的未知数量)。
但是,如果它不是函数声明而是函数定义,那么即使在C
中它也与(void)
相同。
答案 2 :(得分:1)
没有区别。我会说第一个更常见,更清晰,更简洁。
答案 3 :(得分:0)
在C ++中,没有区别,第二种形式仅保留用于C兼容性。第一种形式在C ++中是首选。
在C中,它们意味着不同的东西。 第一种形式指定一个带有未知数量参数的函数,第二种形式是一个带零参数的函数。
答案 4 :(得分:0)
一些非常古老的(非标准)C编译器可能会抱怨第一个,所以第二个应该更容易移植。
除此之外,没有区别。
第一个在用户代码中更常用,很简单,因为它更短。
答案 5 :(得分:0)
实际上没有区别。如果你没有任何参数传递给方法用户void或空括号。通知它只是传递参数。如果你的方法没有任何返回值,你必须使用void keyword.the第一个在C#中更常见