关于无法从“initializer-list”转换为“QJsonObject”解决办法

OpenCV图像拼接实战:用SIFT+透视变换打造无缝全景图(附完整代码) 本文详细介绍了使用OpenCV和SIFT算法实现图像拼接的全过程,包括特征匹配、透视变换和高级融合技术。通过实战代码演示,帮助开发者掌握无缝全景图生成的核心技术,适用于旅行摄影、无人机航拍等多种场景。 阅读详情

一、简述

前些天在工作中使用QJsonObject的构造进行初始化出现了一下的问题。我们先看一下下面QJsonObject的一种构造方法。

这里写图片描述

在我使用的VS2013版本编译时会出现无法从“initializer-list”转换为“QJsonObject”的问题。

问题出在Q_COMPILER_INITIALIZER_LISTS宏定义。(见下图)

class Q_CORE_EXPORT QJsonObject
{
public:
    QJsonObject();

#if defined(Q_COMPILER_INITIALIZER_LISTS) || defined(Q_QDOC)
    QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args)
    {
        initialize();
        for (std::initializer_list<QPair<QString, QJsonValue> >::const_iterator i = args.begin(); i != args.end(); ++i)
            insert(i->first, i->second);
    }
#endif

这里写图片描述

我们看到源码中 Q_COMPILER_INITIALIZER_LISTS 宏其实未定义。
而 该宏定义在qcompilerdetection.h中,具体可以看到

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

其实从上面可以看到有一处是需要支持c++11的,但是旧版本的VS2013对C++11的initialize-list语法不支持。

如果用VS2013 需要更新到 update3以上。支持 initialize-list语法.或者是下载新版本的VS2013安装包,我是直接下载了update5,然后修复了此问题。

在Creator中可以添加
DEFINES += Q_COMPILER_INITIALIZER_LISTS
或
CONFIG += c++11
或
windows {
DEFINES *= Q_COMPILER_INITIALIZER_LISTS
}

见以下链接的评论处。
https://www.devbean.net/2016/08/qt-creator-source-study-04/

基于MATLAB的导弹轨迹和撞击位置仿真 本文将介绍如何使用MATLAB进行导弹轨迹和撞击位置的仿真,提高导弹的精确打击能力。首先,我们需要确定导弹的初始位置和速度,以及导弹所受到的外部环境因素如重力、空气阻力等。在MATLAB中,可以通过ODE求解器来模拟导弹的运动轨迹。最后,我们通过控制器输出的控制信号来控制导弹的姿态。通过对导弹的运动轨迹和姿态进行仿真,可以更好地预测和规划导弹的运动轨迹,提高其精确打击能力。在实际作战中,为了提高导弹精确打击能力,需要对导弹的撞击位置进行预测和规划。我们可以通过控制导弹的姿态来实现撞击目标的精确命中。 阅读详情

相关推荐

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本

本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。

weixin_30291791的博客 305

C++无法从“initializer list”转换为

刚接触C++,在写结构体的时候初始化遇到了这样的错误。 错误 C2440 “初始化”: 无法从“initializer list”转换为..... 我的结构体是这样初始化的,如下。 detail::GLBHeader header{ detail::GLBHeaderMagic, 2, 0, { 0, detail::GLBChunkJSON } }; 就出现了上面的问题。改...

yGIS 1万+

一文学会Cadence Sigrity PDN仿真——硬件新手小白都能看懂的保姆级教程

电源完整性的仿真,实际上是在仿真以及优化系统中的等效串联电阻。知道了仿真以及优化的目标之后,接下来就是要弄明白这个串联电阻从哪儿来以及怎么优化。整个系统中的串联电阻实际上由三部分组成:没有相位的阻抗,有相位的容抗和感抗,得益于相位,在某个特定的频点,容抗和感抗会大小相等,相位相反而相互抵消,这时候整个系统中就剩下了阻抗,所以整个系统的串联电阻达到了一个最低值,这种现象就是----谐振。当系统处于谐振点时候,整个系统会有一个最小的串联电阻,所以第一个优化电阻的手段就是让谐振来的更频繁一点。

学习帮的博客 2万+

错误C2440“初始化”: 无法从“initializer list”转换为“std::list<char *,std::allocator<char *>>”

在刷C++ Primer习题集,遇到错误C2440“初始化”: 无法从“initializer list”转换为“std::list<char *,std::allocator<char *>>”解决方法:在list容器链表初始化那里, list< char *> slist = { “hello”,“world”,“!” };尖括号里面加上const 修饰符,

weixin_44708598的博客 2730

[SoC]SoC验证中bootcode与firmware相关验证经验总结

本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等

元直的博客 2498

Kong API Gateway 配置与深入

Kong是一个开源的、高性能的API网关,提供了一种简单易用的服务间路由、流量管理和安全防护方案,其最初起源于Nginx Inc.,但后迁移至Apache Software Foundation。Kong支持RESTful、GraphQL、TCP/UDP等协议,可与AWS Lambda、Azure Functions、Google Cloud Functions等云函数平台集成。其主要功能包括:服务发现与负载均衡、请求代理、身份认证与授权、缓存、日志记录、监控指标、灰度发布、多种插件等。

AI天才研究院 2284

C++11新特性学习笔记

新增long long类型。在32位编译系统:int占四字节,与long相同;在64为编译系统:int占四字节,long占8字节。 列表初始化。用花括号来初始化变量得到了全面应用: vector<string> v1{"a", "an", "the"}; vector<string> v2{10, "a"}; nullpter变量。 constexpr。C++11允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式。声明为co

小玩家的博客 548

【问题解决】Python 异步 asyncio 卡死、协程不执行、任务泄漏,保姆级排错

本文详细分析了Python异步编程中常见的卡死、协程不执行和任务泄漏问题。文章首先列举了这些问题的典型表现,如程序卡住、死锁、任务未启动等。然后深入剖析了各类问题的根源,包括同步阻塞操作、未正确await、资源未清理等。针对这些问题,文章提供了两套解决方案:一是异步编程最佳实践,包括安全协程执行、带超时的执行、任务清理等实用方法;二是死锁检测和预防机制,通过锁管理和等待图分析来避免死锁。文章还包含可直接使用的代码示例,帮助开发者快速定位和解决异步编程中的常见问题。

博客 450

vs常见报错含义

int a[1000]; a[100] = { 1,5,3,7,9,0}; “=”: 无法从“initializer list”转换为“int” int a[1000]; int a[100] = { 1,5,3,7,9,0}; “a”: 重定义;不同的下标

m0_57255328的博客 1061

pymol 动画简单制作,gif、mp4导出

参考: https://www.youtube.com/watch?v=G77K9Lro8js1、直接Movie下Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec;如果要动画过渡自然,可以在这4sec后面再Append 1sec;如果需要两个视角,既可以再把窗口蛋白定位到比如配体,不用管中间过程怎么定位过去配体,再Program下,Camera Loop下Nutate下选择,这里选择30degover4 sec添加;最后如果要整体形成个循环播放,可以在这4s

weixin_42357472的博客 8444

企业AI Agent的多模态学习在用户体验优化中的应用

本文旨在为企业技术团队提供关于多模态AI Agent在用户体验优化领域的全面技术指南。多模态学习如何突破传统单模态AI的局限性企业级AI Agent的系统架构设计原则多模态特征融合的工程实现细节用户体验度量的量化方法实际部署中的性能优化策略研究范围涵盖计算机视觉、自然语言处理、语音识别等多个AI子领域的技术融合,以及它们在电商、金融、医疗等行业的应用实践。首先介绍多模态学习的核心概念和技术原理然后深入分析关键算法和数学模型接着通过完整项目案例展示实际应用。

大模型应用工坊 706

Qt中写post请求函数如何直接输入url和body参数(字符串列表)获取数据

std::initializer_list是C++11中的一个新特性,用于在函数中传递任意数目的参数列表,类似于C语言中的可变参数列表。std::initializer_list类型的参数可以接收多个参数,这些参数可以是相同类型或者不同类型,但必须在调用函数时用花括号括起来。在上面的代码中,我们定义了一个print函数,它的参数类型为std::initializer_list,可以接收任意数目的int类型参数。print函数会遍历这个参数列表,并输出每个元素的值。在发送post请求里封装json数据,

C_greenbird的博客 2134

YOLOv8工业缺陷检测实战:攻克光照不均难题,精度从70%到92%的全流程优化(附缺陷数据集)

YOLOv8在工业缺陷检测中突破光照不均难题,核心是“硬件控光+数据造景+模型聚焦+训练攻坚硬件控光:从源头减少光照变异,降低算法难度;数据造景:用CLAHE、合成样本让模型“见过足够多的光照情况”;模型聚焦:用ECA注意力和Focal-EIoU损失,让模型盯住缺陷而非光照;训练攻坚:分阶段+难例挖掘,强迫模型学习薄弱点。这套方案已在汽车轴承、手机外壳、PCB板3类产线落地,平均精度提升20%+,漏检率控制在0.08%以内,完全满足工业级要求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1195

Qt QJsonObject初始化列表的使用问题

QJsonObject初始化列表问题

Kelvin_Yan的专栏 1522

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

error: C2440: “初始化”: 无法从“initializer-list”转换为“QStringList”无构造函数可以接受源类型,或构造函数重载决策不明确

在使用qt开发应用程序的过程中,遇到如下问题,无法使用c++11新特新,初始化列表参考来自博主的解决方案,在pro文件中添加如下代码即可解决问题windows {但是我在qt的帮助文档中无法查阅到相关详细信息却在qt官网blog查到如下相关虽然大家都如此地热衷于QML和javascript技术,我们几个仍在用C++进行编码;C++即将迎来一次升级:C++11(以前被称为C++0x)。最终草案在去年三月获得了C++标准委员会的批准,而最终规范预计将在这个夏天发布。

qq_42815643的博客 2188

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

无法从“initializer list”转换为“CvScalar” 常见opencv问题记录

C2440 “<function-style-cast>”: 无法从“IplImage *”转换为“cv::Mat” 解决方法: dst_DE = &cvIplImage(frame2); C2440 “=”: 无法从“_IplImage”转换为“IplImage *” 无法将参数 1 从“IplImage *”转换为“cv::InputArray” 解决方法: IplImage:dst_gray; CvMat tempGray; CvMat* matGra...

qq_30377315的博客 3428

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

解决:error C2440: “初始化”: 无法从“initializer list”转换为……

遇到这样一个报错“error C2440: “初始化”: 无法从“initializer list”转换”。出问题的功能是用列表初始化一个结构体数组。因这样写起来很简练,充满诱惑,故还是想结构体实现了一个初始化变量的代码,看起来似乎完美,省去了构造函数的一堆代码,又确保了安全性。数组也省掉了对每个结构体单独赋初值的操作。但是就是无法编译通过。网上提供的解决办法是添加一个初始化列表:看起来似乎可行。但是这个结构体并不是一个单独类型的列表。

Wall of AugusGames 1480

结构体初始化列表错误

结构体初始化列表错误(金庆的专栏 2016.12)struct A{    int a = 0;};int main(){    A a{0};    return 0;}报以下错误:error C2440: “初始化”: 无法从“initializer list”转换为“A”note: 无构造函数可以接受源类型,或构造函数重载决策不明确去除 A.a 的类内初始化就好了。struct A{    

金庆的专栏 1936

error C2440: “初始化”: 无法从“initializer list”转换为

代码:struct TBLLMgrNetSN{    int16_t wSN_BLL = 0;    int16_t wSN_Msg = 0;    TBLLMgrNetSN() {        memset(this, 0, sizeof(TBLLMgrNetSN));    }};TBLLMgrNetSN tBLLMgrNetSN {1,2};输出:error C2440: “初始化”: 无...

obqrn的博客 1万+

C2440“初始化”: 无法从“initializer list”转换为“_Ty”,改变变量类型后出错

最后发现是之前用了a.emplace_back(...),emplace_back会自动创建对象初始化,所以list元素改为指针后这里检测不到显式的出错。把list a改成list a后,修改完了所有错误,编译的时候却报错。在网上看是{}赋值的问题,但是我的代码完全没有用{}赋值。

good_day_good的博客 464

QT MSVC2013/ vs2013 C2440: “初始化”: 无法从“initializer-list”转换为“***” 错误

我是从此处得到答案的:https://www.devbean.net/2016/08/qt-creator-source-study-04/ 第一个评论 感谢前辈错误信息3> error C2440: “初始化”: 无法从“initializer-list”转换为“QVector<QPair<QString,QString>>” 3> 无构造函数可以接受源类型,或构造函数重载决

a312024054的专栏 1万+

【Qt开发笔记】Qt配置多字节字符集,解决“无法从const char[] 转换为char*”的问题

Qt配置多字节字符集,解决“无法从const char[] 转换为char*”的问题 1.问题描述 手上有一个项目,开发环境为Qt5.9.9+vs2015,由于种种原因,使用QtCreator作为IDE进行项目的开发工作。 项目中有一个版本比较旧的第三方库,没有源码,提供的头文件中充斥着下面这种用法: void func(char *str = "xxxx"); // 第三方库头文件中太多char *str = "xxxx"这样的用法却又没办法修改 问题就出在char *str = "xxxx"这里,C+

专注Qt与C++开发 7778

QT MSVC2013/ vs2013 C2440: “初始化”: 无法从“initializer-list”转换为“***” 错误

错误信息 3> error C2440: “初始化”: 无法从“initializer-list”转换为“QVectorQPairQString,QString>>” 3> 无构造函数可以接受源类型,或构造函数重载决策不明确 3> error C2440: “初始化”: 无法从“initializer-list”转换为“QVectorT>” 3> with 3

PengPengBlog的博客 8441

PCL 错误提示(1):Error in: PCL_DEPRECATED_HEADER(1, 15, “Please include pcl/common/io.h directly.“)

C2440 “初始化”: 无法从“initializer list”转换为“int”,指向PCL_DEPRECATED_HEADER(1, 15, “Please include pcl/common/io.h directly.“) 解决方法:你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功

czwcc的博客 698
上一篇: Qt动画类实例一
下一篇: Qt简述如何实现不规则按钮
前行中的小猪
前行中的小猪 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄10年 4万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值