Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / C与C++函数声明时的几个小的语法差异

C与C++函数声明时的几个小的语法差异

1 无参函数的声明

void f(){}int main(void){f(10,“hello");return 0;}上述代码在C语言中是完全正确的。但是在C++中确是错误的。void f()
* 在C中表示函数f可以接受任何类型,任意数量的参数。(然而并没有提供如何利用这些参数的机制,如果想使用可变参数函数,格式为 void f(type a1,…))。
* 而在C++中表示函数f不接受任何参数。所以要想让无参函数声明在C和C++中保持一致含义,请使用如下格式:void f(void);

2 函数返回值

f(void){ return 1;}上述代码在C中是正确的,但是在C++中是不正确的。如果声明函数时,不声明其返回值,
* C编译器自动认为函数返回int类型。
* C++编译器认为这是语法错误。所以如果要让你的代码在C和C++下都正确,请为函数原型加上返回值类型。int f(void){ return 1;}本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133708.htm