提问人:Gabriel Costa 提问时间:11/14/2023 最后编辑:Gabriel Costa 更新时间:11/14/2023 访问量:81
重载“按值调用”和“按引用调用”功能?[复制]
Overload 'call by value ' and 'call by reference' function? [duplicate]
问:
这个问题在这里已经有答案了:
基于值与常量参考的函数重载 (6 个答案)
我们是否可以仅根据参数是值还是引用来重载函数? (2 个答案)
«F(5)» 和 «int x;F(x)» 调用不同的函数? (1 个答案)
函数重载 - T 和对 T 的引用 [重复] (2 个答案)
5天前关闭。
我想为具有两个重载的函数定义一个名称“f”,一个是“按值调用”,另一个是“按引用调用”
#include <iostream>
using namespace std;
int f (int a)
{
return a;
}
int f (int &a)
{
return a;
}
int main()
{
int x = 4;
cout << f(x); // f would be call by reference
cout << f(5); // f would be call by value
return 0;
}
编译上述代码时,抛出以下错误:main.cpp:26:14:错误:重载“f(int&)”的调用不明确
我理解为什么在这种情况下调用是模棱两可的,因为调用既可以通过引用也可以通过值来完成,但是如果是变量,有没有办法默认通过引用调用?f
f(x)
f(x)
x
答: 暂无答案
评论