#include "stdafx.h"
#include <iostream>
#include <iterator>
#include <string>
using namespace std ;void main()
{
string str("Hello World");
cout<< str << endl;

str.assign( istream_iterator<char>(cin), istream_iterator<char>() ); cout << str << endl;}F:\test\test.cpp(38) : error C2664: 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &__thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(const char *,unsigned 
int)' : cannot convert parameter 1 from 'class std::istream_iterator<char,char,struct std::char_traits<char> >' to 'const char *'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.test.exe - 1 error(s), 0 warning(s)
这是我下的一个关于string的资料里面的程序,想问问哪出错误 ?