C++ - 按引用传递的可选参数

3
我要参加C++的考试,现在正在做一些过去几年的试题。其中一个问题是:
一个函数计算棱柱的体积。传递的参数是高度、深度和宽度。参数和返回值都是双精度浮点数。深度是可选的并且应该默认为10。
假设1:所有参数都按值传递
我回答了double volume_prysm(const double width, const double height, const double depth = 10); 假设2:所有参数都按引用传递
我该如何定义引用参数以使其默认为10?
谢谢您的时间!
1个回答

4

我不知道问题的目的是什么,但是临时变量可以绑定到const引用:

double volume_prisma(const double& largura, ..., const double& depth = 10);

double volume_prisma(const double & largura, const double & altura, const double & profundidade = 10); 那么呢? - F. P.
@Francisco:是的,我冒昧地省略了其余部分。 - Georg Fritzsche
这里存在一个问题,我认为给参数的值分配引用的目的是使其成为可选值。如果将参数定义为const,则在函数内部尝试修改它的任何尝试都将失败。我找到的唯一解决方法是:不要将arg设置为const,而是将其分配给同一类型的全局声明虚拟变量。这样,如果调用者传递自己的参数,则会修改该参数而不是虚拟参数。 - Randy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接