初始化并声明QFile

6

我可以在第二次初始化QFile时赋值吗? 我尝试了以下方法:

...
QFile file;
...
if (i == 0) file = QFile("foo.txt");
else file = QFile("bar.txt");
...

Qt Creator报错:"'QFile& QFile::operator=(const QFile&)' 在此上下文中是私有的",请问您需要帮助吗?

吹毛求疵:是C++编译器发出错误信号,而不是IDE。 - Kuba hasn't forgotten Monica
1个回答

9

QFile 是一个 QObject,它们都是不可复制和不可赋值的。你需要的是 setFileName 方法:

QFile file;
...
file.setFileName(i == 0 ? "foo.txt" : "bar.txt");
...

您也可以拥有
QFile file(i == 0 ? "foo.txt" : "bar.txt");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接