c++ - 无法将 'QJsonObject' 转换为 'int' 作为返回

标签 c++ qt qjson

所以我有:

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/

相关文章:

C++ 声明式解析序列化

C++ GDI+ 清除上一个屏幕

arrays - 如何在qt中生成JsonRpc请求?

qt - 在 Mac 中使用 QJSON - 遇到一些问题

c++ - 错误 : C1083: Cannot open include file: 'QJson/Parser' : No such file or directory

c++ - 如何设计一个类,其中用户/调用者可以选择使用自定义类提供自定义行为

C++ 和 QT4.5 - 传递一个 const int& 矫枉过正?通过引用传递对信号/插槽有帮助吗?

QT GUI -> 单个窗口中的多个 View

c++ - 将本地声明的对象存储在全局 QList 中是否安全?

c++ - 如何将多个参数传递给 qt5 中的 SLOT 函数?