标题:一个在Essentil C++书中出现的小错误,请大家看一下
只看楼主
dang800919
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-5
 问题点数:0 回复次数:6 
一个在Essentil C++书中出现的小错误,请大家看一下
在Essential C++ 68页里
是这样叙述的 给定一个储存 整数的vector 并给定一个数值 如果该数值在这个vector中,我们返回一个指针指向该值 否则 返回 retrun 0;
书中的代码是这样写的:
#include<iostream>
#include<vector>
using namespace std;
int *find(const vector<int>&a,int value)
{
for(int i=0;i<a.size();++i)
if(a[i]==value)
return &a[i];
return 0;
}

而编译的时候出现错误
是不是该把 这条语句int *find(const vector<int>&a,int value)
const去掉 
搜索更多相关主题的帖子: Essentil 
2006-01-06 19:06
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
const在这里表示a不可改.

=×&D o I p R e E n C g T l X&×=
2006-01-06 19:38
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
#include<iostream>
#include<vector>
using namespace std;
int const *find(const vector<int>&a,int value)
{
for(int i=0;i<a.size();++i)
if(a[i]==value)
return &a[i];
return 0;
}
可以去掉,也可以加如上再一个.

=×&D o I p R e E n C g T l X&×=
2006-01-06 19:42
dang800919
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-5
得分:0 

恩,加上的那个CONST 代表什么意思啊...能稍微的解释一下么

2006-01-06 19:58
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
表示返回的值也不可修改.

=×&D o I p R e E n C g T l X&×=
2006-01-06 20:35
dang800919
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2005-12-5
得分:0 
袄,我明白了,谢谢
2006-01-06 22:21
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
得分:0 
是它返回的那个指针所指向的地址的值不可修改.
指针所指向的地址还是可以修改的.

=×&D o I p R e E n C g T l X&×=
2006-01-06 22:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-41890-1-1.html




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

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