2012-02-09 40 views
1

这里我有一个基于STL的pdf的基本示例。 它为什么不起作用?stl copy()iterator:binary'>>':找不到操作符

#include "stdafx.h" 
#include <vector> 
#include <algorithm> 
#include <iostream> 
#include <iterator> 

using namespace std; 


int _tmain(int argc, _TCHAR* argv[]) 
{ 
    vector<string> coll; 
    copy(istream_iterator<string>(cin), //start of source 
      istream_iterator<string>(), //end of source 
      back_inserter(coll)); 
    return 0; 
} 

错误:

ClCompile: All outputs are up-to-date. 
stl_testing1.cpp 
c:\program files\microsoft visual studio 10.0\vc\include\iterator(470): error C2678: binary '>>' : 
no operator found which takes a left-hand operand of type 'std::basic_istream<_Elem,_Traits>' (or there is no acceptable conversion) 
      with 
      [ 
       _Elem=char, 
       _Traits=std::char_traits<char> 
      ] 
      c:\program files\microsoft visual studio 10.0\vc\include\istream(1053): could be 'std::basic_istream<_Elem,_Traits> &std::operator 
>><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char *)' 
      with 
      [ 
       _Elem=char, 
       _Traits=std::char_traits<char> 
      ] 
      c:\program files\microsoft visual studio 10.0\vc\include\istream(1060): or  'std::basic_istream<_Elem,_Traits> &std::operator 
>><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,signed char &)' 
      with 
      [ 
       _Elem=char, 
       _Traits=std::char_traits<char> 
      ] 
      c:\program files\microsoft visual studio 10.0\vc\include\istream(1067): or  'std::basic_istream<_Elem,_Traits> &std::operator 
>><std::char_traits<char>>(std::basic_istream<_Elem,_Traits> &&,unsigned char *)' 
      with 

我不知道什么是错的。这是一个Win32控制台应用程序。

回答

4
#include <string> 

这可能有帮助。

+0

亲爱的,也许我应该散步:D非常感谢你。 – 4pie0 2012-02-09 19:53:58

相关问题