-1
#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 Answers1

2

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

string file(ifstream numbers, string num_str)

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

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

И еще - это

while (!numbers.eof())

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

Harry
  • 221,325
  • 2
    затем же зачем передавать num_str которая не используется ибо создается локальная версия – Zhihar Dec 23 '20 at 12:44
  • @Zhihar Кстати, да :) - я не обратил внимания. Какой-то странный код... "Странный, если не сказать больше" (с) :) – Harry Dec 23 '20 at 12:46