开发者社区> 问答> 正文

在c++中,在流迭代器中使用sort报错

a123456678 2016-03-04 17:53:58 1964

代码如下:
std::istream_iterator sii(std::cin),eof;
std::ostream_iterator oii(std::cout," ");
std::sort(sii,eof);//该行代码报错
//错误如下:
错误 2 error C2784: “'unknown-type' std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能从“std::istream_iterator<_Ty>”为“std::move_iterator<_RanIt> &”推导 模板 参数 e:vs2012安装vcincludealgorithm 3702 1 ConsoleApplication3
错误 3 error C2784: “'unknown-type' std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能从“std::istream_iterator<_Ty>”为“const std::reverse_iterator<_RanIt> &”推导 模板 参数 e:vs2012安装vcincludealgorithm 3702 1 ConsoleApplication3
错误 4 error C2784: “'unknown-type' std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)”: 未能从“std::istream_iterator<_Ty>”为“const std::_Revranit<_RanIt,_Base> &”推导 模板 参数 e:vs2012安装vcincludealgorithm 3702 1 ConsoleApplication3
错误 6 error C2780: “void std::_Sort(_RanIt,_RanIt,_Diff,_Pr)”: 应输入 4 个参数,却提供了 3 个 e:vs2012安装vcincludealgorithm 3702 1 ConsoleApplication3
错误 5 error C2676: 二进制“-”:“std::istream_iterator<_Ty>”不定义该运算符或到预定义运算符可接收的类型的转换 e:vs2012安装vcincludealgorithm 3702 1 ConsoleApplication3

C++
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 18:52:40

    我简单写了一段代码,作用是将输入的字符串直接输出,可以说明你出现的问题:

    copy( istream_iterator< string >( cin ), istream_iterator< string >(), ostream_iterator< string >( cout, " " ) );

    你的问题是:输入输出流的类型是什么??我上面的代码是std::string.没有类型,当然出错.

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题