完美解决Qt error C2664: 无法将参数 1 从“const char []”转换为“char *

问题原因

        C++新标准不再允许将常量字符串,作为字符指针使用。对此,msvc编译环境,会报错。对此,可以在工程属性中配置“多字节字符集”来解决这个问题。

        目前,使用QtCreator,同样也可以在Qt工程文件中去配置“多字节字符集”

解决办法

        在Qt工程文件pro文件中,去掉UNICODE,添加UMBCS,再去掉配置项-Zc:strictStrings,工程pro文件如下所示添加配置:

DEFINES -= UNICODE
DEFINES += UMBCS
QMAKE_CXXFLAGS -= -Zc:strictStrings

至此,完美解决该问题

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
"uncaught error: createbuffer error" 警告信息一般出现在网页编程或基于JavaScript的开发中,通常表示缓冲区创建失败。具体来说,缓冲区是一个用于存储数据的区域。它的创建通常使用JavaScript中的 ArrayBuffer API 或者 DataView API实现。这些接口基于JavaScript语言中的 TypedArray 类型,允许我们对数据进行高效的操作,例如解析二进制数据等。 当出现 "uncaught error: createbuffer error" 错误时,通常是因为以下几个原因: 1. 内存不足:如果当前的内存空间已经耗尽或者资源不足以创建所需的缓冲区,就会出现创建失败的情况。 2. 网络连接问题:在使用大型文件进行数据交换时,如果网络连接不稳定或者出现中断,就可能导致数据传输出现问题,从而导致创建缓冲区时发生错误。 3. 操作系统或者浏览器的缓存设置问题:如果浏览器或者操作系统缓存设置出现问题,或者缓存空间不足,就会导致缓冲区创建失败。 4. 编程错误:如果在代码中使用了过期、失效或者不安全的 API,或者缓冲区的标识符不正确,也可能导致缓冲区创建失败。 在遇到 "uncaught error: createbuffer error" 错误时,我们应该立即检查代码,以找出错误的具体原因。一般情况下,我们可以使用调试工具中的控制台来查看具体的错误信息,并根据提示信息采取对应的解决措施。常见的解决措施包括释放资源、扩大内存空间、重新配置缓存设置、更新API等。如果以上方法都没有解决问题,我们可以寻求专业的技术支持或者使用其他的编程语言进行开发
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

子建莫敌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值