快乐小白兔 2014-04-25 09:14 采纳率: 0%
浏览 3656

在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安装\vc\include\algorithm 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安装\vc\include\algorithm 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安装\vc\include\algorithm 3702 1 ConsoleApplication3
错误 6 error C2780: “void std::_Sort(_RanIt,_RanIt,_Diff,_Pr)”: 应输入 4 个参数,却提供了 3 个 e:\vs2012安装\vc\include\algorithm 3702 1 ConsoleApplication3
错误 5 error C2676: 二进制“-”:“std::istream_iterator<_Ty>”不定义该运算符或到预定义运算符可接收的类型的转换 e:\vs2012安装\vc\include\algorithm 3702 1 ConsoleApplication3

  • 写回答

1条回答 默认 最新

  • 笑遍整个世界 2014-05-15 12:43
    关注

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

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

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

    评论

报告相同问题?