为什么第一个代码不起作用(运行时错误)而第二个代码却起作用? 代码1:
#include<iostream>
using namespace std;
int &fun()
{
int x = 10;
return x;
}
int main()
{
fun() = 30;
cout << fun();
return 0;
}
代码2:
#include<iostream>
using namespace std;
int &fun()
{
static int x = 10;
return x;
}
int main()
{
fun() = 30;
cout << fun();
return 0;
}
这两个代码段均来自geeksforgeeks(https://www.geeksforgeeks.org/references-in-c/)。