首页 > 代码库 > c++笔记--函数重载(不合法的重载情况)
c++笔记--函数重载(不合法的重载情况)
在下面几种情况下不能视为重载:
1、返回值不同的函数不能视为重载
2、返回值是否为静态不能视为重载
3、数组和指针
int
fun(
int
*ptr);
int
fun(
int
ptr[]);
// redeclaration of fun(int *ptr)
4、函数和函数指针
void
h(
int
());
void
h(
int
(*)());
// redeclaration of h(int())
5、参数是否为const不能区分(但是对于类成员函数是可以的)
注意:const修饰指针形参或者引用形参的时候可以作为重载的标识,可以这么理解,由于指针或者引用作为形参的时候可以修改实参本身,
const修饰的时候是指指向的内容不能修改,所以能够作为区分重载的标识
http://www.geeksforgeeks.org/function-overloading-and-const-functions/
6、是否默认参数不能区分
http://www.geeksforgeeks.org/function-overloading-in-c/
c++笔记--函数重载(不合法的重载情况)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。