【发布时间】:2016-03-24 03:19:09
【问题描述】:
我有一个类似于以下示例的代码,但我不确定这是否正确,因为可执行文件按预期运行。
// source.cpp
void compute_x(int& ref)
{
ref = 0;
}
void f(int x)
{
int local = x;
local = 1;
if (local)
{
return copute_x(local);
}
else return;
}
int main()
{
f(2);
return 0;
}
代码运行但是,变量local 在f 返回时有效吗?
【问题讨论】:
-
compute_x 不返回值!您的代码无法编译。
-
对不起,我的错误,我修改了我的帖子。
-
我应该再问一次这个问题。需要睡觉。我又做了一个编辑。感谢您的耐心。
-
更糟糕的是,现在
compute_x和f不再返回。 -
@user1810087 这很糟糕吗?我应该先计算 x 然后从
f()返回?
标签: c++ function reference pass-by-reference