我正在用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&)'|
答案 0 :(得分:1)
正如@drescherjm在评论中所说:您的编译器很旧,并且要求文件名是char*
而不是std::string
。在这种情况下,您需要将fileName
替换为fileName.c_str()