假设我有以下功能:
int f(int& x)
{
x++;
return x;
}
第一个问题,return语句是否复制了引用x的值,因为函数没有返回int&amp ;.
第二个问题,为什么我不能用文字调用函数?如果我确实想要使用有时带有值的文字调用函数怎么办?我尝试用
重载int f(int x)
{
x++;
return x;
}
如果我用文字调用它会编译。但是当我传递一个变量时,我得到了模糊的调用错误。有没有办法实现这个目标?
答案 0 :(得分:3)
也许这就是你想要的:
int F(const int& x) { return x + 1; }
int F(int& x) { x++; return x; }