为什么在C ++中不能用'int&foo()'更改方法`fool`的返回值?

时间:2019-07-28 19:38:57

标签: c++

在方法foo()中,为什么使用int iint I = 0来定义变量i时结果为何不同?

在第二行中,当其为int i;时,结果为42,但当其为int I = 0;时,结果为0。

1 int& foo() {
2    int i   = 0;
3    return i;
4 } 
5 void main(){
6    int& foo();  
7    foo() = 42;
8    std::cout << "foo() value:" << foo() <<std::endl;        
9 }

0 个答案:

没有答案