免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2692 | 回复: 10
打印 上一主题 下一主题

对迭代器熟悉的进来看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-06 20:35 |只看该作者 |倒序浏览
使用输入流迭代器用两种方法定义并初始化了一个vector对象,都是c++primer上面的例子,不知道为什么第一种方法运行正确,第二种方法调试却不能通过,
           vector<int>  vec;
           istream_iterator<int> in_iter(cin);
        istream_iterator<int> eof;
        while (in_iter != eof)
                vec.push_back(*in_iter++);

/********下面是第二种方法,不能通过*************/
        istream_iterator<int> in_iter(cin);
        istream_iterator<int> eof(cin);
        vector<int> vec(in_iter, eof);               //使用一对流迭代器初始化
把错误信息也发下,error C2664: '__thiscall std::vector<int,class std::allocator<int> >::std::vector<int,class std::allocator<int> >(unsigned int,const int &,
const class std::allocator<int> &)' : cannot convert parameter 1 from 'class std::istream_iterator<int,char,struct std::char_traits<char> >' to 'unsigned int'

请大虾们帮下  谢谢了

[ 本帖最后由 face_to_sea 于 2008-6-7 10:20 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-06-06 21:54 |只看该作者
没人啊。。。。

[ 本帖最后由 face_to_sea 于 2008-6-6 22:03 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-06-06 22:17 |只看该作者
建议换个标题

论坛徽章:
0
4 [报告]
发表于 2008-06-07 10:21 |只看该作者
好吧 我换个标题看看

论坛徽章:
0
5 [报告]
发表于 2008-06-07 10:42 |只看该作者
看你的程序出错信息,好像编译器没有选对constructor
....vector (unsigned int, const int &, const class std::allocator<int> &)
所以你的出错了。

论坛徽章:
0
6 [报告]
发表于 2008-06-07 10:48 |只看该作者
你的代码我可以编译通过,
头文件全了么??

论坛徽章:
0
7 [报告]
发表于 2008-06-07 11:05 |只看该作者
istream_iterator<int> eof(cin);
这一句错了,(cin)不要。
程序编译通过,运行正确。

论坛徽章:
0
8 [报告]
发表于 2008-06-07 15:06 |只看该作者
谢谢啊  不过我试了下  eof 后边的(cin)有没有一样,比如第一个程序加上这个(cin)也完全正确。
构造函数问题 可能是吧?  我加的头文件是:
# include <iostream>
# include <vector>
# include <iterator>
using namespace std;
我不知道还少了什么??

论坛徽章:
0
9 [报告]
发表于 2008-06-07 15:16 |只看该作者
迭代器

论坛徽章:
0
10 [报告]
发表于 2008-06-07 16:17 |只看该作者
原帖由 face_to_sea 于 2008-6-7 15:06 发表
谢谢啊  不过我试了下  eof 后边的(cin)有没有一样,比如第一个程序加上这个(cin)也完全正确。
构造函数问题 可能是吧?  我加的头文件是:
# include
# include
# include
using namespace std;
我不 ...

不加才对,此时表示流结束
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP