【发布时间】:2014-10-19 19:17:17
【问题描述】:
你好世界,我正在做一个项目,我可以序列化文件中的对象并稍后读取它,但是当我写入值(布尔值)时,它可以工作,但是当我尝试读取它们时,这就是我得到:
binary '>>' : 没有找到接受右手操作数的运算符 输入 bool(或没有可接受的转换)
这是我的代码
void MainWindow::writeSettings()
{
QFile *settingsFile = new QFile(":/images/settings_file.txt");
if(!settingsFile->open(QIODevice::WriteOnly))
{
qDebug() << "File not responsing";
} else
{
QDataStream out(settingsFile);
out.setVersion(QDataStream::Qt_5_3);
out << settings->getEnableWordWrap();
out << settings->getShowStatusbar();
out << settings->getShowToolbar();
}
settingsFile->flush();
settingsFile->close();
}
现在如果我尝试阅读,得到错误
QFile selc(":/images/settings_file.txt");
if(!selc.open(QIODevice::ReadOnly))
{
qDebug() << "File not responding";
} else
{
QDataStream in(&selc);
in >> settings->getEnableWordWrap() >> settings->getShowStatusbar() >> settings->getShowToolbar();
}
selc.close();
getEnableWordWrap()、getShowStatusbar() 和 getShowToolbar() 都是布尔返回类型。
【问题讨论】: