我有一个函数,可以用两种方式编写。
void function(void) {
// operations....
}
和
void function() {
// operations......
}
两个函数都具有相同的原型。void
为什么我们必须在函数定义中提及作为参数?
不,两者都有不同的原型。
编译下面的程序你就会明白了。
void function1(void)
{
printf("In function1\n");
}
void function2()
{
printf("In function2\n");
}
int main()
{
function1();
function2(100); //Won't produce any error
return 0;
}
方案二:
#include <stdio.h>
void function1(void)
{
printf("In function1\n");
}
void function2()
{
printf("In function2\n");
}
int main()
{
function1(100); //produces an error
function2();
return 0;
}
在 C 和 C++ 中说“无参数”的正确方法是
void function(void);
但是当我们写
void function();
这意味着在 C 和 C++ 中的方式有点不同!它的意思是“可以采用任意数量的未知类型的参数”,在 C++ 中它的含义与function(void)相同。