搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 有关引用函数返回赋值问题?
标题:
有关引用函数返回赋值问题?
只看楼主
九天冥盟
等 级:
论坛游民
威 望:
1
帖 子:77
专家分:20
注 册:2015-7-14
结帖率:
36%
楼主
已结贴
√
问题点数:20 回复次数:2
有关引用函数返回赋值问题?
int &shiyan(int &,int );
void main()
{
int n=5,m=6;
int &a=shiyan(n,m);
cout<<"a="<<a<<endl;
}
int &shiyan(int &x,int y)
{
return x;
}
问题
:为什么return x;时,运行结果是正确的。当将其改为 return y;时运行结果就错了!!
参数x,y不都是 局部变量吗?
搜索更多相关主题的帖子:
引用
函数
赋值
int
return
2017-10-31 20:36
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
2
楼
得分:10
你用的是什么编译器?它在编译时难道不告诉你 返回一个局部变量的引用是操蛋行为 ?
我用VC试了一下:报错 warning C4172: returning address of local variable or temporary
我用g++试了一下:报错 warning: reference to local variable 'y' returned
2017-11-01 08:26
yangfrancis
等 级:
贵宾
威 望:
141
帖 子:1510
专家分:7661
注 册:2014-5-19
第
3
楼
得分:10
x是引用,引用的是来自外部的变量,所以返回x的引用是可以的。至于y,只能返回一个值
2017-11-01 13:49
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-481998-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.306139 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved