STL中的关于ostream_iterator
银木头 2007-08-08 04:22:37 我有一段程序:
#include <iostream.h>
#include <algorithm>
#include <list>
#include <iterator>
using namespace std;
int iArray[5]={1,2,3,4,5};
void Display(list<int>& v,const char* s);
int main(int argc, char* argv[])
{
list<int> iList;
copy(iArray,iArray+5,front_inserter(iList));
Display(iList,"Before find and copy");
list<int>::iterator lIter=find(iList.begin(),iList.end(),3);
copy(iArray,iArray+2,inserter(iList,lIter));
Display(iList,"After find and copy");
return 0;
}
void Display(list<int>& v,const char* s)
{
cout<<s<<endl;
ostream_iterator<int> output(cout," ");
copy(v.begin(),v.end(),output);
cout<<endl;
}
出现错误:
error C2664: '__thiscall std::ostream_iterator<int,char,struct std::char_traits<char> >::std::ostream_iterator<int,char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::cha
r_traits<char> > &,const char *)' : cannot convert parameter 1 from 'class ostream_withassign' to 'class std::basic_ostream<char,struct std::char_traits<char> > &'
A reference that is not to 'const' cannot be bound to a non-lvalue
Error executing cl.exe.
请问这个错误要如何解决,谢谢各位大哥了