Привет, я изучаю С++ из книги, и я задаю вопрос ниже
Напишите функцию, которая принимает и возвращает istream &. Функция должна читать поток до тех пор, пока он не достигнет конца файла. Функция должна печатать то, что она читает, на стандартный вывод. Reset поток, чтобы он был действителен перед возвратом потока.
#include "stdafx.h"
#include <iostream>
#include <istream>
#include <string>
#include <string.h>
#include <list>
#include <vector>
#include <fstream>
std::istream ReadFile(std::istream &iStream)
{
std::string word;
while (iStream >> word)
{}
std::cout << "I read value " << word << std::endl;
iStream.setstate(std::ios::goodbit);
return iStream;
}
int _tmain(int argc, _TCHAR* argv[])
{
ReadFile(std::cin);
system("pause");
return 0;
}
Это моя попытка, однако я получаю ошибки в строке "return iStream".
Error1 error C2280: 'std::basic_istream<char,std::char_traits<char>>::basic_istream(const std::basic_istream<char,std::char_traits<char>> &)' : attempting to reference a deleted function
2 IntelliSense: function "std::basic_istream<_Elem, _Traits>::basic_istream(const std::basic_istream<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]" (declared at line 77 of "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\istream") cannot be referenced -- it is a deleted function
Я действительно не знаю, что это за ошибки, я знаю, что вы можете удалять вещи, но я еще не участвую в этой теме. Насколько я знаю, я совсем не коснулся файла istream... Может ли кто-нибудь помочь мне, пожалуйста?
Спасибо!