Oracle® Solaris Studio 12.4:C 用户指南

退出打印视图

更新时间: 2014 年 12 月
 
 

6.11.6 兼容函数类型

要使函数兼容,请遵守以下规则:

  • 要使两个函数类型兼容,它们的返回类型必须兼容。如果任一或两个函数类型都有原型,则规则将更加复杂。

  • 为了使具有原型的两个函数类型兼容,它们还必须具有相同数目的参数,包括省略号 () 表示法的使用,而且对应参数必须是参数兼容的。

  • 为了使旧式函数定义与具有原型的函数类型兼容,原型参数不得以省略号 () 结尾。应用缺省参数提升后,每个原型参数与对应的旧式参数必须是参数兼容的。

  • 为了使旧式函数声明(而不是定义)与具有原型的函数类型兼容,原型参数不得以省略号 () 结尾。所有原型参数的类型必须不受缺省参数提升的影响。

  • 为了使两种类型是参数兼容的,在删除顶级限定符(如果有)后,以及将函数或数组类型转换为相应的指针类型后,这两种类型必须是兼容的。