C与C++ 无参函数的区别

     在《C++ 编程思想》:“关于无参函数声明,C与C++有很大的差别。在C语言中,声明int fun1(),意味着一个可以有任意数目和类型的函数;而在C++中,指的却是一个没有参数的函数”。

      下面是一个C语言的函数和C++的函数验证了这段话

 

# include<stdio.h>

int fun1();

int main()
{
	int a = fun1(3, 4);
	printf("%d\n", a);
	return 0;
}

int fun1(int a, int b)
{
	return a + b;
}

结果没有任何问题,输出结果为7,也即fun()可以声明fun(int, int)

 


 

# include<iostream>
using namespace std;

int fun1();

int main()
{
	int a = fun1(3, 4);
	cout << a << endl;

	return 0;
}

int fun1(int a, int b)
{
	return a + b;
}

编译出错,“fun1”: 函数不接受 2 个参数。说明在C++中 fun()不可以声明fun(int, int)



 

 

posted @ 2013-07-20 18:03  jlins  阅读(641)  评论(0编辑  收藏  举报