I'm trying to learn about the fstream class and I'm having some trouble. I created a couple of txt files, one with a joke and the other with a punchline (joke.txt) and (punchline.txt) just for the sake of reading in and displaying content. I ask the user for the file name and if found it should open it up, clear the flags then read the content in. but I cant even test what it reads in because I'm currently getting errors regarding a deleted function but I don't know what that means
error 1:
"IntelliSense: function "std::basic_ifstream<_Elem, _Traits>::basic_ifstream(const std::basic_ifstream<_Elem, _Traits>::_Myt &) [with _Elem=char, _Traits=std::char_traits<char>]" (declared at line 818 of "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\fstream") cannot be referenced -- it is a deleted function the second error is the exact same but for the 2nd function (displayLastLine())
and error 3:
Error 1 error C2280: 'std::basic_ifstream<char,std::char_traits<char>>::basic_ifstream(const std::basic_ifstream<char,std::char_traits<char>> &)' : attempting to reference a deleted function and here's my code:
#include "stdafx.h" #include <string> #include <iostream> #include <fstream> using namespace std; void displayAllLines(ifstream joke); void displayLastLine(ifstream punchline); int main() { string fileName1, fileName2; ifstream jokeFile, punchlineFile; // Desribe the assigned project to the User cout << "This program will print a joke and its punch line.\n\n"; cout << "Enter the name of the joke file (ex. joke.txt): "; cin >> fileName1; jokeFile.open(fileName1.data()); if (!jokeFile) { cout << " The file " << fileName1 << " could not be opened." << endl; } else { cout << "Enter name of punch line file (ex. punchline.txt): "; cin >> fileName2; punchlineFile.open(fileName2.data()); if (!punchlineFile) { cout << " The file " << fileName2 << " could not be opened." << endl; jokeFile.close(); } else { cout << endl << endl; displayAllLines(jokeFile); displayLastLine(punchlineFile); cout << endl; jokeFile.close(); punchlineFile.close(); } } // This prevents the Console Window from closing during debug mode cin.ignore(cin.rdbuf()->in_avail()); cout << "\nPress only the 'Enter' key to exit program: "; cin.get(); return 0; } void displayAllLines(ifstream joke) { joke.clear(); joke.seekg(0L, ios::beg); string jokeString; getline(joke, jokeString); while (!joke.fail()) { cout << jokeString << endl; } } void displayLastLine(ifstream punchline) { punchline.clear(); punchline.seekg(0L, ios::end); string punchString; getline(punchline, punchString); while (!punchline.fail()) { cout << punchString << endl; } }