Объясните, почему не работает...
От: miheich  
Дата: 14.03.02 13:42
Оценка:
Из книги Страуструпа, стр 97

#include <string>
#include <iostream>
#include <fstream>
#include <ostream>
#include <istream>
#include <iterator>
#include <vector>
#include <algorithm>

using namespace std;

int main(int argc, char* argv[])
{
string from, to;
cin >> from >> to;

ifstream is(from.c_str());
istream_iterator<string> ii(is);
istream_iterator<string> eos;

vector<string> b(ii,eos);
sort(b.begin(),b.end());

ofstream os(to.c_str());
ostream_iterator<string> oo(os,'\n');
unique_copy(b.begin(),b.end(),oo);

return !is.eof() && !os;
}

при компилировании дает
C:\Maxim\Project\VC\Stroustrup\example2_383\example2_383.cpp(33) : error C2664: '__thiscall std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > > >::std::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::a
llocator<char> > > >(unsigned int,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > &)
' : cannot convert parameter 1 from 'class std::istream_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >' to 'unsigned int'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
C:\Maxim\Project\VC\Stroustrup\example2_383\example2_383.cpp(37) : error C2664: '__thiscall std::ostream_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >::std::ostr
eam_iterator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,const char *)' : cannot convert parameter 2 fro
m 'const char' to 'const char *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
Error executing cl.exe.

example2_383.obj — 2 error(s), 0 warning(s)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.