一朵小草 2023-03-21 16:15 采纳率: 45.5%
浏览 47
已结题

关于c++的一个基础问题

已知程序中已经定义了函数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

  • 写回答

3条回答 默认 最新

  • 於黾 2023-03-21 16:23
    关注

    首先,c和d都是错误的语法
    如果想参数有默认值,那应该在函数定义里写值,而不是在函数声明的地方写
    同时,a和c都有同一个问题,就是参数类型与原型一致,这导致调用的时候编译器没法知道你到底想调用哪个重载
    只有B,参数类型是不同的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 这个如何解决详细步骤
  • ¥15 在微信h5支付申请中,别人给钱就能用我的软件,这个的所属行业是啥?
  • ¥30 靶向捕获探针设计软件包
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢