
函数重载中参数个数不同但是类型相同可以吗
展开全部
函数重载是是根据函数的参数列表区分函数的版本,返回值不同是不能区分的。
比如
int
fun(
int
a,int
b);
在编译的时候,编译器编译函数,生成一个类似"_fun_int_int"的名称放在库中,以便程序调用的时候使用。
如果你想重载void
fun(
int
a,int
b);
生成的函数名称也是"_fun_int_int"
函数在库中的名称是唯一的,就像你在程序中定义变量一样。
这就算是重定义吧(姑且这么说),这时编译器该调用哪个函数?
比如
int
fun(
int
a,int
b);
在编译的时候,编译器编译函数,生成一个类似"_fun_int_int"的名称放在库中,以便程序调用的时候使用。
如果你想重载void
fun(
int
a,int
b);
生成的函数名称也是"_fun_int_int"
函数在库中的名称是唯一的,就像你在程序中定义变量一样。
这就算是重定义吧(姑且这么说),这时编译器该调用哪个函数?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询