重载函数的限制

几个限制管理可接受一组重载函数:

  • 中的任何两个函数设置重载函数必须具有不同的参数列表。

  • 重载函数带有参数列表的类型,具体取决于返回单独的类型,是错误。

    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] );
    

请参见

参考

重载概述