重载函数的限制
几个限制管理可接受一组重载函数:
中的任何两个函数设置重载函数必须具有不同的参数列表。
重载函数带有参数列表的类型,具体取决于返回单独的类型,是错误。
Microsoft 专用
可以重载 new 运算符 根据基于指定的内存模型修饰自己的返回类型 (具体而言,。
特定于 Microsoft 的结尾
成员函数不能根据一个是静态的和非静态的其他自己的重载。
typedef 声明不定义新类型;它们引入现有类型的同义词。它们不会影响该重载的结构。考虑下列代码:
typedef char * PSTR; void Print( char *szToPrint ); void Print( PSTR szToPrint );
上面的两个函数具有相同的参数列表。PSTR 是类型的 **char ***同义词。在成员范围,此代码将生成错误。
枚举类型不同类型,并且可用于区分重载函数之间。
类型 “数组”和 “指针”被视为相同的区别重载函数之间。这只是可靠对于单独有量纲数组。因此,以下重载函数冲突并生成错误消息:
void Print( char *szToPrint ); void Print( char szToPrint[] );
对于 multiply 有量纲数组,第二,所有成功的尺寸被视为一部分的类型。因此,它们用于区分重载函数内:
void Print( char szToPrint[] ); void Print( char szToPrint[][7] ); void Print( char szToPrint[][9][42] );