std::ofstream 变量定义问题

std::ofstream variable definition problems

本文关键字:问题 定义 ofstream std 变量      更新时间:2023-10-16

我的 ofstream 变量outfile有问题。我全局定义它,然后尝试在函数中更改它:

ofstream outfile("C:\folder1\folder2\file1.file");
void a() {
    ofstream outfile("C:\folder3\folder4\file2.file");
}
main(){
    a();
    outfile << "TEST";
}

这行不通。如果我尝试删除第二个声明中的ofstream,则会出现错误。

注意:我的调试器坏了

这行不通。如果我尝试删除第二个声明中的ofstream,则会出现错误。

当然,ofstream没有这样的operator()过载,假设你一直在写

void a() {
    outfile("C:\folder3\folder4\file2.file");
}

请注意,也没有定义赋值运算符,例如写入

void a() {
    outfile = ofstream("C:\folder3\folder4\file2.file");
}

也不能使用。

你能得到的最接近的是

void a() {
    outfile.close();
    outfile.open("C:\folder3\folder4\file2.file");
}

真正的问题是恕我直言,为什么您需要在全球范围内声明outfile。通常根本不需要。