开发者社区> 问答> 正文

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

代码如下:
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

展开
收起
a123456678 2016-03-04 17:53:58 4434 0
1 条回答
写回答
取消 提交回答
  • 我简单写了一段代码,作用是将输入的字符串直接输出,可以说明你出现的问题:

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

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

    2019-07-17 18:52:40
    赞同 展开评论 打赏
问答分类:
C++
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
使用C++11开发PHP7扩展 立即下载
GPON Class C++ SFP O;T Transce 立即下载
GPON Class C++ SFP OLT Transce 立即下载