[英]Cannot convert 'QJsonObject' to 'int' in return
所以我有:
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
}
}
}
我得到的错误是:
error: cannot convert 'QJsonObject' to 'int' in return
我显然是C ++的新手,并且在Google问题上取得了一些成功,但没有具体示例说明如何解决此问题。
我究竟做错了什么? 我怎么能告诉它应该返回QJsonObject
而不是int
?
您必须将返回类型添加到函数原型的开头:
QJsonObject ListElements (QDomElement root, QString tagname, QString attribute)
如果您未指定返回类型,则默认的假定返回类型为int
,这就是您收到此错误的原因。
如果编写这样的函数:
MyFunc(double, float) {
...
}
然后假定它的返回类型为int
因为尚未指定返回类型。 如果希望它返回其他内容,则需要指定返回类型:
QJsonObject MyFunc(double, float) {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.