std::fstream 文件句柄重用问题

issue with std::fstream file handle reuse

我不确定这段代码有什么问题:

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");

感谢您的想法。

TIA

您正在尝试调用一个变量。

改变

file_h("q_input.txt");

file_h.open("q_input.txt");