| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:引用问题
只看楼主 加入收藏
body202
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-21
收藏
 问题点数:0 回复次数:4 
引用问题

下面是用引用编的小程序,问题见程序,请指点
#include <iostream>
using namespace std;
int f(int i)
{
return i++;}
int g(int &i)
{
return i++;}
main()
{
int a=0,b=0,c=0,d=0;
a+=f(g(a));
b+=g(g(b));//请问这个是什么问题呢?提示是不能FROM‘INT’TO‘INT&’
c+=g(f(c));//这个错误同上,应该怎样该才对呢?
d+=f(f(d));
cout<<"a="<<a<<"b="<<b<<"c="<<"d="<<d<<"\n";
return 1;
}


2007-10-14 11:50
zhb_ice
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2007-10-6
收藏
得分:0 
两个函数返回的都是一个值 不能对某个值进行引用
引用只能对某一个对象


2007-10-14 11:58
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
回复:(body202)引用问题

#include <iostream>
using namespace std;
int f(int i)
{
return i++;
}

int g(int& i)
{
return i++;
}

int main()
{
int a = 0, b = 0, c = 0, d = 0;

int p, q;

a += f(g(a));

f(5); // work
// g(5); // does not work. A reference needs a LValue, but 5 is an RValue

/**
A refernce is a LValue, which should in general be associated with
a named storage.

g(b) is a RValue.
*/
p=g(b);
b+=g(p);
//b += g(g(b)); //请问这个是什么问题呢?提示是不能FROM‘INT’TO‘INT&’

q =f(c);
c+= g(q);
//c += g(f(c)); //这个错误同上,应该怎样该才对呢?
d += f(f(d));
cout << "a=" << a << "b=" << b << "c=" << "d=" << d << "\n";

return 1;
}


I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-10-14 12:23
body202
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2007-4-21
收藏
得分:0 

Good! HJin THANK YOU!

2007-10-14 14:28
o0花生0o
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2007-10-13
收藏
得分:0 
这个问题我也不懂,刚好在这里学一下,谢谢楼主,谢谢1楼,谢谢2楼
2007-10-16 23:39
快速回复:引用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080867 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved