我不能在C ++的头文件中的类内使用ofstream对象

时间:2019-04-21 15:13:55

标签: c++ fstream

我正在用C ++制作头文件以将内容记录到文件中,但是当我尝试这样做时会发生错误。

我尝试了ofstream,fstream,也尝试过将文件与对象声明分开打开。我试着去掉变量,只把我想要的实际文件名放在那里(所以我不使用logging(fileName)而是使用logging(“ fileName.txt”))

    void writeLog(){
        using namespace std;
        ofstream logging(fileName);
        if(!logging){
            cerr << "Error opening log file " << fileName << ". Logs are not being recorded\n";
            isError = true;
        }

我希望代码创建一个名为logging的ofofstream对象,其名称为logging,它将创建一个具有指定文件名的文件,但出现错误:

  

没有匹配函数可调用>'std :: basic_fstream :: basic_fstream(std :: __ cxx11 :: string&)'|

1 个答案:

答案 0 :(得分:1)

正如@drescherjm在评论中所说:您的编译器很旧,并且要求文件名是char*而不是std::string。在这种情况下,您需要将fileName替换为fileName.c_str()