所以我有:
QJsonArray nodeCollection;
nodeCollection.push_back(ListElements(program, "title", "lang"));
我的 ListElements
方法声明了 QJsonObject
,用我需要的东西填充它,并且应该返回对象以便它可以被推送到 nodeCollection
数组变量:
ListElements (QDomElement root, QString tagname, QString attribute)
{
auto nodeData = QJsonObject(
{
qMakePair(QString(itemElement.tagName()), QJsonValue(itemElement.text())),
qMakePair(QString("lang"),QJsonValue(itemElement.attribute("lang"))),
});
return nodeData; // <-- error
}
}
}
我得到的错误是:
错误:无法将“QJsonObject”转换为“int”作为返回值
我显然是 C++ 的新手,我用谷歌搜索了这个问题并取得了一些成功,但没有具体的例子来说明如何解决这个问题。
我做错了什么?我如何告诉方法它应该返回 QJsonObject
而不是 int
?
最佳答案
您必须将返回类型添加到函数原型(prototype)的开头:
QJsonObject ListElements (QDomElement root, QString tagname, QString attribute)
如果您没有指定返回类型,则默认假定返回类型为 int
,这就是您收到此错误的原因。
关于c++ - 无法将 'QJsonObject' 转换为 'int' 作为返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47643573/