Я пишу очень базовую программу, которая берет содержимое двух файлов и добавляет их вместе в третий файл. Мой код выглядит следующим образом:Функции iostream, дающие мне ошибку C2248
#include "std_lib_facilities.h"
string filea, fileb,
contenta, contentb;
string getfile()
{
string filename;
bool checkname = true;
while (checkname)
{
cout << "Please enter the name of a file you wish to concatenate: ";
cin >> filename;
ifstream firstfile(filename.c_str());
if (firstfile.is_open())
{
cout << filename << " opened successfully.\n";
checkname = false;
}
else cout << "Cannot open " << filename << endl;
}
return filename;
}
string readfile(ifstream ifs)
{
string content;
while (!ifs.eof())
{
string x;
getline(ifs, x);
content.append(x);
}
return content;
}
int main()
{
ifstream firstfile(getfile().c_str());
ifstream secondfile(getfile().c_str());
ofstream newfile("Concatenated.txt");
newfile << readfile(firstfile) << endl << readfile(secondfile);
system("PAUSE");
firstfile.close();
secondfile.close();
newfile.close();
return 0;
}
Когда я пытаюсь скомпилировать этот код, однако, я получаю эту ошибку:
error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'
Я не знаю, что является причиной этой ошибки, хотя я подозреваю, что это имеет какое-то отношение к выполняемым мной функциям, поскольку у меня не было этой ошибки перед созданием функций.
Любая помощь с благодарностью, заблаговременно за любые ответы.
Это сработало, спасибо! –