函数返回值(该函数为值返回)赋值给引用变量
见如下示例代码:
class A
{
int a;
};
int fun_int( )
{
int a;
return a;
}
A fun_cls()
{
A a;
return a;
}
int main( )
{
int & a = fun_int();//该句编译出错:error C2440: 'initializing' : cannot convert from 'int' to 'int &'
A & b = fun_cls();//该句编译通过。
return 0;
}
为什么针对int和class两种类型,有不同的结果呢?
求高手解答。