关于c++中引用的问题
下列的代码,
int main(){
int a=10;
int &b=a;
a=100;
cout<
b引用a时,写作int &b=a;
但当a作函数返回值时,正确的代码如下:
int& test()
{
static int a=10;
return a;
}
int main(){
int &b=test();
return 0;
}
提问:为什么a作函数返回值时返回的类型不是int而是int&呢,是c++语法中的硬性规定吗?