【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面

这篇具有很好参考价值的文章主要介绍了【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。

这个 Bug 是我做这个工程时遇到的:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面。

问题

使用 C++ 语言,配合 Qt 开发串口通信界面,在调试动态绘图时,报错 Debug Error!

复制一下错误信息,方便别人在检索时能检索到我这个文章。错误信息如下:

ASSERT: “i >= 0 && i < size()” in file
quytearray.h, line 557

错误截图如下:

【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面

解决方案

先定位出错误的代码位置,发现是

QByteArray MyConRevBuff = m_SerialPort.read(14);

这是由于读取的字节数超过了实际可用的字节数,导致数组越界。

为了解决这个问题,可以使用条件语句来检查可用字节数是否足够进行读取。如果可用字节数小于请求的字节数,可以等待更多数据到达或进行适当的错误处理。也就是改成如下语句:

int bytesToRead = qMin(14, m_SerialPort.bytesAvailable());  // 获取可用字节数和请求字节数的较小值

if (bytesToRead >= 14) {
    QByteArray MyConRevBuff = m_SerialPort.read(14);
    // 处理读取的数据
} else {
    // 可用字节数不足,等待更多数据到达或进行错误处理
}

这样的修改后可以确保仅在可用字节数足够时才进行读取操作,从而避免了数组越界错误。如果可用字节数不足,则可以根据需要进行等待或错误处理。希望能帮到你。文章来源地址https://www.toymoban.com/news/detail-513032.html

Ref.

到了这里,关于【Visual Studio】报错 ASSERT: “i >= 0 && i < size()“,使用 C++ 语言,配合 Qt 开发串口通信界面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【VTK】VTK 显示小球例子,在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 编号 内容 1 【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK 2 【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK 3 【VTK】VTK 显示小球例子,在 Windows 上使用 Visual Studio 配

    2024年02月17日
    浏览(49)
  • 【VTK】读取一个 STL 文件,并使用 Qt 显示出来,在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 直接先把效果放出来,有需要就往下看。 骷髅3D打印3D模型

    2024年02月14日
    浏览(58)
  • paddle中import onnxruntime报错缺失Microsoft Visual C++ Redistributable for Visual Studio 2019 not install

    import onnxruntime 报错ImportError: Microsoft Visual C++ Redistributable for Visual Studio 2019 not installed on the machine. Traceback (most recent call last): File “D:/Wanggan_Project/tensorflow/study_test/paddle_steel/file_save_load.py”, line 7, in import onnxruntime File “D:Anaconda3envspaddle_newlibsite-packagesonnxruntime_ init _.py”, l

    2024年02月08日
    浏览(49)
  • 报错error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“

    报错 error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio”: https://visualstudio.microsoft.com/downloads/ 任选其一 解压后安装 Visual Studio 2015 Microsoft Visual C++ Build Tools 2015 报错 Microsoft Visual C++ Build Toolds 安装包丢失或损坏 Python pip报错: error: Microsoft Visual C++ 14.0 is requir

    2024年02月12日
    浏览(41)
  • <c++开发> Visual Studio使用开发-相关问题杂录

    <c++开发> Visual Studio使用开发-相关问题杂录 问题1:使用Visual Studio2022 运行Visual Studio2019的工程发生 error MSB8020 前景:使用Visual Studio2022 运行Visual Studio2019的工程; 错误如下: G:WorkSoftVS2022MSBuildMicrosoftVCv170Microsoft.CppBuild.targets(442,5): error MSB8020: 无法找到 Visual Studio 2019 的

    2024年02月08日
    浏览(44)
  • Microsoft Visual Studio C++开发环境的配置及使用

    本文引用自作者编写的下述图书; 本文允许以个人学习、教学等目的引用、讲授或转载,但需要注明原作者\\\"海洋饼干叔 叔\\\";本文不允许以纸质及电子出版为目的进行抄摘或改编。 1.《Python编程基础及应用》,陈波,刘慧君,高等教育出版社。免费授课视频 Python编程基础及应

    2024年02月04日
    浏览(67)
  • 使用 Visual Studio 2022 开发 Linux C++ 应用程序

    前置条件: Windows上需要先安装 WSL2,方法见: Install WSL | Microsoft Docs 在 WSL2 中依次执行如下命令,进行安装如下必需软件: Visual Studio 2022 引入了用于 Linux C++ 开发的本机 WSL2 工具集,可以构建和调试 Linux C++ 代码,并提供了非常好的 Linux 文件系统性能、GUI 支持和完整的系统

    2024年02月05日
    浏览(107)
  • Visual Studio 2022 中解决使用scanf报错的方法(一劳永逸)

    目录 【前言】 一、scanf报错示例 二、解决使用scanf报错的方法 解决方法1(不推荐) 解决方法2(不推荐) 解决方法3(强烈推荐) 第一步 第二步 第三步 三、效果演示(方法三) 【最后】 🎈个人主页:库库的里昂  🎐CSDN新晋作者  🎉欢迎 👍点赞✍评论⭐收藏   ✨其他

    2024年02月12日
    浏览(45)
  • Visual Studio 2022 中使用scanf报错的解决方法(一次性解决)

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,前面一章给大家介绍了Visual Studio 2022 的安装和使用!    ⛳️ 但是 Visual Studio 2022 并不是按照标准的C语言标准,所以使

    2024年02月16日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包