| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 366 人关注过本帖
标题:已解决.此帖可以删了.
只看楼主 加入收藏
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
结帖率:100%
收藏
 问题点数:0 回复次数:1 
已解决.此帖可以删了.

c++ primer 4th 中,在“使用引用形参返回额外的信息”那块有个例程,我在上机实验时却总出现编译时错误(出错的句子已用注释标出),望高手给指点下。
原题:
定义一个find_val函数,在一个整形vector对象的元素中搜索某个特定值。如果找到满足要求的元素,则返回指向该元素的迭代器,否则返回一个迭代器,指向该vector对象的end操作返回的元素。此外,如果该值出现了不止一次,我们还希望函数可以返回其出现的次数。
/*
Name: find_val
Copyright:
Author:
Date: 11-10-07 13:34
Description: c++ primer 4th p203 no.7.2.2.1
*/
#include <iostream>
#include <vector> //vector
using namespace std;
vector<int>::const_iterator find_val(
vector<int>::const_iterator beg,
vector<int>::const_iterator end,
int value,
vector<int>::size_type &occurs)
{
// res_iter will hold first occurrence, if any
vector<int>::const_iterator res_iter=end;
occurs=0;
for( ; beg!=end; ++beg)
if(*beg==value)
{
if(res_iter==end)
res_iter=beg;
++occurs;
}
return res_iter;
}

int main()
{
int n,fv;
vector<int>::size_type count=0;
vector<int>::iterator iter;
vector<int> text;
while(cin>>n)
text.push_back(n);
cout<<"输入要查找的数"<<endl;
cin>>fv;
iter=find_val(text.begin(), text.end(), fv,count); //编译器提示这里出错
cout<<*iter<<endl;
cout<<count<<endl;
system("pause");
return 0;
}

就一块钱了(1RMB==40min),网吧上网,在线等,走过路过的都帮个忙吧。

[此贴子已经被作者于2007-10-11 15:07:11编辑过]

2007-10-11 14:30
随心
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:12
帖 子:2577
专家分:250
注 册:2007-8-12
收藏
得分:0 
自己顶

天之道,利而不害。圣人之道,为而不争。信言不美,美言不信。善者不辩,辩者不善。知者不博,博者不知。
2007-10-11 14:51
快速回复:已解决.此帖可以删了.
数据加载中...
 
   



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

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