应用程序在将 QVariant 分配给 QVariant 时崩溃
app crashes while assigning QVariant to QVariant
当我调用以下函数时,它崩溃了
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&
。
QVariantMap
不是QVariant
,也不能因为它不是从QVariant
继承而向下铸造的。
QVariantMap
是一个QMap<QString, QVariant>
您可能打算做的是:
QVariantMap abc;
abc["name"]="nik";
setdata(abc["name"]);
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 内联映射初始化的动态atexit析构函数崩溃
- 执行函数时导致崩溃的变量
- 程序崩溃并显示"std::out_of_range"错误
- CoInitialize()在单独的线程上崩溃而不返回
- 使用调试/崩溃报告将应用程序部署到客户端
- 为什么所有C++编译器都会崩溃或挂起此代码
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 为什么我的多线程作业队列崩溃
- ExtractIconEx:可以工作,但偶尔会崩溃
- 为什么引用传递会导致此崩溃(C++)
- 试图创建流或fopen时程序崩溃
- 类对象数组的问题会导致崩溃
- 排序时无法执行交换操作.我做的时候它会崩溃.为什么
- 为什么要增加导致崩溃的指针
- 在虚幻引擎中删除NXOpen对象时崩溃
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- Visual Studio在尝试读取resource.txt文件时崩溃
- 应用程序在将 QVariant 分配给 QVariant 时崩溃