【发布时间】:2015-06-25 19:25:55
【问题描述】:
总的来说,我对 C++ 和 Qt 都很陌生,因此我有一个问题:
我有这个代码:
if(!logFile.open(QIODevice::ReadOnly)) {
QMessageBox::information(0, "error", logFile.errorString());
}
else {
QTextStream result(&logFile);
return result.readAll();
}
运行良好。 但是,当我尝试返回 QTextStream 对象而不是带有我从文件中读取的所有文本的 QString 时,会弹出以下错误:
/home/neko/projects/WurmLogparser/wurmlog.cpp:208: error: call to deleted constructor of 'QTextStream'
return result;
^~~~~~
编码导致错误的原因如下:
else {
QTextStream result(&logFile);
return result;
//return result.readAll();
}
当然,在尝试编译第二个版本之前,我会适当地将相关类型更改为 QTextStream。请告诉我第二版代码有什么问题?我以与第一部分相同的方式构造 QTextStream,但它对我产生了奇怪的错误。
【问题讨论】: