我有一个代码,执行类似于下面的示例,我不确定这是否正确,因为可执行文件按预期运行。
// 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返回后有效吗?
发布于 2015-12-17 15:32:08
变量local在f返回后超出作用域。
在编辑之后,:但是返回值将从函数返回,然后从main返回。
发布于 2015-12-17 18:15:00
No.the变量局部变量无效,因为它的作用域位于f函数定义...after的大括号之间,而它并不存在。
https://stackoverflow.com/questions/34338263
复制相似问题