C与C语言函数声明中省略参数有何不同含义?
- 内容介绍
- 文章标签
- 相关推荐
本文共计440个文字,预计阅读时间需要2分钟。
在C/C++中,函数声明如`int func()`表示这是一个没有参数的函数。然而,今天在阅读C++代码时,突然看到这样一句:对于带有空参数表的函数,C和C++有着很大的不同。
一直都以为C/C++中形如
int func();
这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C++的时候突然看到这么一句:
对于带空参数表的函数,C和C++有很大的不同。在C语言中,声明 int func2(); 表示“一个可带任意参数(任意数目,任意类型)的函数”。这就妨碍了类型检查。而在C++语言中它就意味着“不带参数的函数”。
本文共计440个文字,预计阅读时间需要2分钟。
在C/C++中,函数声明如`int func()`表示这是一个没有参数的函数。然而,今天在阅读C++代码时,突然看到这样一句:对于带有空参数表的函数,C和C++有着很大的不同。
一直都以为C/C++中形如
int func();
这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C++的时候突然看到这么一句:
对于带空参数表的函数,C和C++有很大的不同。在C语言中,声明 int func2(); 表示“一个可带任意参数(任意数目,任意类型)的函数”。这就妨碍了类型检查。而在C++语言中它就意味着“不带参数的函数”。

