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)

上一篇:LInux系统及其文件系统


下一篇:编译和安装shibboleth-sp遇到的问题