int error(int &b)
{
int a = 0;
a = b;
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
int d = 3;
int c = error(d);
cout<<c<<endl;
}
函数error的int a 值能够返回么?
我理解的是他是局部变量,函数运行结束之后,a 就释放掉了,因此 返回值不确定。
但是 用vs2005测试之后发现返回值是正确的。
这是为什么呢?有什么原理?
------解决方案--------------------------------------------------------
不能。。。。
------解决方案--------------------------------------------------------
可以,因为a是值类型
------解决方案--------------------------------------------------------
int error(int &b)
{
int a = 0;
a = b;
return a;
}
x = error(10) //这里会有一个临时变量