#include <iostream.h>
#include <algorithm>
#include <list>
using namespace std;
int iArray[5] = { 1, 2, 3, 4, 5 };
void Display(list<int>& v, const char* s);
int main()
{
list<int> iList;
// Copy iArray backwards into iList
copy(iArray, iArray + 5, front_inserter(iList));
Display(iList, "Before find and copy");
// Locate value 3 in iList
list<int>::iterator p =
find(iList.begin(), iList.end(), 3);
// Copy first two iArray values to iList ahead of p
copy(iArray, iArray + 2, inserter(iList, p));
Display(iList, "After find and copy");
return 0;
}
void Display(list<int>& a, const char* s)
{
cout << s << endl;
copy(a.begin(), a.end(),
ostream_iterator<int>(cout, " "));
cout << endl;
}
运行结果:error C2665: 'ostream_iterator<int,char,struct std::char_traits<char> >::ostream_iterator<int,char,struct std::char_traits<char> >' : none of the 2 overloads can convert parameter 1 from type 'class ostream_withassign'
执行 cl.exe 时出错.
后来才知道:是头文件#include <iostream.h>出了问题,把#include <iostream.h> 改为#include <iostream>就ok了。。。。