ChiLi_Lin 2018-01-16 09:51 采纳率: 60%
浏览 1314
已结题

C++ 函数重复声明时,添加默认实参问题。

在原书《C++ Primer 5th》中(P212),如下写到:在原有默认值的下,添加其他默认值是正确的声明。
图片说明


但是在测试时,编译器(vs2015)却报错了。
图片说明


执行程序时,可以正确执行,但是还是会输出这个错误。

void screen(int w, int h, string s) { cout << (w * h) << " " + s; }

void screen(int w, int h, string s = "stringgggg");

void screen(int w = 32, int h = 16, string s);

void main()
{
    screen();
}

输出结果:
512 stringgggg

请问为什么报错?怎么解决?

  • 写回答

10条回答 默认 最新

  • IT小狼狗 2018-01-16 10:18
    关注

    编译出错了 还能正确执行? 你这个是启动上一次成功的实例的结果吧,

    评论

报告相同问题?

悬赏问题

  • ¥15 FOR循环语句显示查询超过300S错误怎么办
  • ¥15 数电设计题 没有设计思路 不知道用什么芯片进行设计 求提供设计思路
  • ¥60 设计一种优化算法结合案例给出智能仓储四向穿梭车的调度计划
  • ¥15 Errno2:No such file or directory,在当前文件确实没有该图片,怎么解决?
  • ¥15 博世摄像头数据存储的问题(iscsi)
  • ¥15 如何实现对学生籍贯信息管理系统的选择排序
  • ¥15 git clone报错
  • ¥15 3d-slicer超声造影动态图像导入报错
  • ¥15 化工过程分析与合成问题求解决
  • ¥15 化工过程分析与合成问题解答