首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将QVariant分配给QVariant时应用程序崩溃

将QVariant分配给QVariant时应用程序崩溃
EN

Stack Overflow用户
提问于 2014-12-01 21:23:59
回答 1查看 195关注 0票数 0

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

代码语言:javascript
复制
void RequestBuilder::setData(QVariant &data)
{
    this->data=data;
}

data中包含一个QVariantMap (data还包含作为QVariantMap的值)。而且this->data也是QVariant

下面是调用该函数时的更多细节。

代码语言:javascript
复制
QVariantMap in,out;
in["name"]="nik";
out["details"]=in;
out["other"]="something";
QVariant param=QVariant(out);
setData(param);

如果我传递包含原始数据类型的map,上面的函数就能正常工作

代码语言:javascript
复制
QVariantMap abc;
abc["name"]="nik";
QVariant var=QVariant(abc);
setData(var);

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

EN

回答 1

Stack Overflow用户

发布于 2014-12-01 21:44:46

您正在做的是创建一个坏的QVariant&

QVariantMap不是QVariant,也不能向下转换为1,因为它不是从QVariant继承的。

QVariantMap是一个QMap

你可能想要做的是:

代码语言:javascript
复制
QVariantMap abc;
abc["name"]="nik";
setdata(abc["name"]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27229443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档