已知程序中已经定义了函数test,其原型是int test(int,int,int);,
则下列重载形式中正确的是
A.char test (int,int,int);
B.double test(int,int,double);
C.int test(int,int,int=0);
D.float test(int,int,float=3.5F);
答案不是应该选c吗,为啥标准答案是b
首先,c和d都是错误的语法
如果想参数有默认值,那应该在函数定义里写值,而不是在函数声明的地方写
同时,a和c都有同一个问题,就是参数类型与原型一致,这导致调用的时候编译器没法知道你到底想调用哪个重载
只有B,参数类型是不同的
C和原函数是一样的,重定义了
不知道你这个问题是否已经解决, 如果还没有解决的话: