繁体   English   中英

无法将'QJsonObject'转换为'int'作为回报

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM