yfannnnn 2021-11-24 14:20 采纳率: 0%
浏览 35

c++形参直接初始化,实参可以为空,这是啥操作

上面这段代码,a.addNum(),上面得形参int number =2(C++可以再形参这直接初始化?),a.addNum()这里可以不带实参?我记得上面这2种情况 c都无法编译,这里我编译过了,如果实参有数据,形参就等于实参,如果实参没有就用形参初始化得值,我得理解是,a.addNum()编译得时候符号表应该是没有参数得,他怎么知道指向函数的,这2个符号表应该都不一样吧。

      // 对外的接口
      void addNum(int number = 20)
      {
          total += number;
      }

 

  • 写回答

1条回答 默认 最新

  • m0_64569291 2022-02-10 21:59
    关注

    number=20是一个提前给出的默认值,addNum函数是一个带有默认形参值的函数,通过函数名来调用函数。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月24日

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算