std::ofstream变量定义问题

std::ofstream variable definition problems

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

ofstream outfile("C:\folder1\folder2\file1.file");

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

main(){
    a();
    outfile << "TEST";
}

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

注意:我的调试器坏了

This does not work. If I try to remove the ofstream in the second declaration, I get errors.

当然,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。通常根本没有必要。