当前位置:嗨网首页>书籍在线阅读

81-函数原型

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

B.9.1 函数原型

在C++中,函数原型必不可少,但是在C中是可选的。这一区别在声明一个函数时让函数名后面的圆括号为空,就可以看出来。在C中,空圆括号说明这是前置原型,但是在C++中则说明该函数没有参数。也就是说,在C++中, int slice();int slice(void); 相同。例如,下面旧风格的代码在C中可以接受,但是在C++中会产生错误:

int slice();
int main()
{
     ...
     slice(20, 50);
     ...
}
int slice(int a, int b)
{
     ...
}

在C中,编译器假定用户使用旧风格声明函数。在C++中,编译器假定 slice()slice(void) 相同,且未声明 slice(int, int) 函数。

另外,C++允许用户声明多个同名函数,只要它们的参数列表不同即可。