编程习惯-函数无参数用void填充

如果函数无参数,那么应声明其参数为void


<pre name="code" class="cpp">

 
 
int function()
{
	return 1;
}

int main(void)
{
	int ret = 0;
	ret = function(2);
	printf("rst:%d\n", ret);
	return 0;
}

如果用gcc编译器(即C语言编译器)编译如上代码,没有编译错误,函数正常return(1),但是此时程序员已经误用了function函数,给其传入了参数,但是编译器忽略了,因为在定义function函数的时候没有指定参数必须为空,而是处于缺省状态。

但是如果使用g++(C++编译器)编译器去编译这段代码,就会出现编译错误如下:

"error: too many arguments to function ''int function()"

所以,无论在C 还是C++中,若函数不接受任何参数,一定要指明参数为void。以免某些编译器忽略了代码错误!!!

参考:

http://c.biancheng.net/cpp/html/444.html


你可能感兴趣的:(c)