加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

C与C++函数声明时的几个小的语法区别

发布时间:2021-12-10 16:15:14 所属栏目:教程 来源:互联网
导读:C与C++函数声明时的几个小的语法差异 1 无参函数的声明 void f() { } int main(void) { f(10,hello); return 0; } 上述代码在C语言中是完全正确的。但是在C++中确是错误的。 void f() * 在C中表示函数f可以接受任何类型,任意数量的参数。(然而并没有提供

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;
}

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读