我的ofstream变量outfile
出现问题。我全局定义它,然后尝试在函数中更改它:
ofstream outfile("C:\\folder1\\folder2\\file1.file");
void a() {
ofstream outfile("C:\\folder3\\folder4\\file2.file");
}
main(){
a();
outfile << "TEST";
}
这不起作用。如果我尝试删除第二个声明中的ofstream
,我会收到错误。
注意:我的调试器坏了
答案 0 :(得分:2)
这不起作用。如果我尝试删除第二个声明中的
ofstream
,我会收到错误。
当然,operator()
没有ofstream
超载,假设您一直在写
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
。通常情况下根本没有必要。