Ошибка в работе с файлами c++. Ошибка error: use of deleted function ‘std::basic_ifstream<_CharT, _Traits>

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

string file(ifstream numbers, string num_str){
    string num_str;

    numbers.open("text.txt");
    while (!numbers.eof())
    {
    getline(numbers, num_str);
    }
    return num_str;
}


int main(){
    ifstream number;
    string numb_str;

    cout << file(number, numb_str);
}

Ответы (1 шт):

Автор решения: Harry

Потоки не копируются, а здесь

string file(ifstream numbers, string num_str)

передавая поток по значению, вы именно это и пытаетесь сделать.

Передавайте поток по ссылке. Но там, где это нужно. Зачем здесь вообще передавать не открытый поток - не понимаю...

И еще - это

while (!numbers.eof())

работает не так, как вы думаете...

→ Ссылка