проблема с повторным использованием дескриптора файла std :: fstream - PullRequest
2 голосов
/ 30 июня 2019

Я не уверен, что не так с этим фрагментом кода:

fstream file_h("h_input.txt");
        if(file_h.is_open()){
                while(!file_h.eof()){
                        line.clear();
                        getline(file_h, line);
                        v_hrml.push_back(line);
                }
                file_h.close();
                file_h.clear();
       }
       file_h("q_input.txt");
       if(file_h.is_open()){
                while(!file_h.eof()){
                        line.clear();
                        getline(file_h, line);
                        v_queries.push_back(line);
                }
                file_h.close();
                file_h.clear();
       }

Для открытия сегмента кода q_input.txt повторного использования file_h компилятор выдает следующую ошибку:

error: no match for call to ‘(std::fstream {aka std::basic_fstream<char>}) (const char [12])’
     file_h("q_input.txt");

Цените ваши мысли.

1011 * ТИА *

1 Ответ

2 голосов
/ 30 июня 2019

Вы пытаетесь вызвать переменную.

Изменение

file_h("q_input.txt");

до

file_h.open("q_input.txt");
...