gpt4 book ai didi

c++ - 将 QVariant 分配给 QVariant 时应用程序崩溃

转载 作者:行者123 更新时间:2023-11-28 06:32:50 27 4
gpt4 key购买 nike

当我调用下面的函数时它崩溃了

void RequestBuilder::setData(QVariant &data)
{
this->data=data;
}

data 包含一个QVariantMap(data也包含 QVariantMap 的值)。并且 this->data 也是 QVariant

这里是调用函​​数时的更多细节。

QVariantMap in,out;
in["name"]="nik";
out["details"]=in;
out["other"]="something";
QVariant param=QVariant(out);
setData(param);

如果我传递包含原始数据类型的映射,上述函数工作正常

QVariantMap abc;
abc["name"]="nik";
QVariant var=QVariant(abc);
setData(var);

QVariantMap 包含非原始值时有区别吗?

最佳答案

你正在做的是创造一个坏的QVariant& .

A QVariantMap不是 QVariant也不能向下转换为一个,因为它不是从 QVariant 继承的.

QVariantMap QMap<QString, QVariant>

你可能想做的是:

QVariantMap abc;
abc["name"]="nik";
setdata(abc["name"]);

关于c++ - 将 QVariant 分配给 QVariant 时应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27229443/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com