国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Visual Studio】報(bào)錯(cuò) ASSERT: “i >= 0 && i < size()“,使用 C++ 語言,配合 Qt 開發(fā)串口通信界面

這篇具有很好參考價(jià)值的文章主要介紹了【Visual Studio】報(bào)錯(cuò) ASSERT: “i >= 0 && i < size()“,使用 C++ 語言,配合 Qt 開發(fā)串口通信界面。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

知識不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。

這個(gè) Bug 是我做這個(gè)工程時(shí)遇到的:【Visual Studio】Qt 的實(shí)時(shí)繪圖曲線功能,使用 C++ 語言,配合 Qt 開發(fā)串口通信界面。

問題

使用 C++ 語言,配合 Qt 開發(fā)串口通信界面,在調(diào)試動(dòng)態(tài)繪圖時(shí),報(bào)錯(cuò) Debug Error!

復(fù)制一下錯(cuò)誤信息,方便別人在檢索時(shí)能檢索到我這個(gè)文章。錯(cuò)誤信息如下:

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

錯(cuò)誤截圖如下:

【Visual Studio】報(bào)錯(cuò) ASSERT: “i >= 0 && i < size()“,使用 C++ 語言,配合 Qt 開發(fā)串口通信界面

解決方案

先定位出錯(cuò)誤的代碼位置,發(fā)現(xiàn)是

QByteArray MyConRevBuff = m_SerialPort.read(14);

這是由于讀取的字節(jié)數(shù)超過了實(shí)際可用的字節(jié)數(shù),導(dǎo)致數(shù)組越界。

為了解決這個(gè)問題,可以使用條件語句來檢查可用字節(jié)數(shù)是否足夠進(jìn)行讀取。如果可用字節(jié)數(shù)小于請求的字節(jié)數(shù),可以等待更多數(shù)據(jù)到達(dá)或進(jìn)行適當(dāng)?shù)腻e(cuò)誤處理。也就是改成如下語句:

int bytesToRead = qMin(14, m_SerialPort.bytesAvailable());  // 獲取可用字節(jié)數(shù)和請求字節(jié)數(shù)的較小值

if (bytesToRead >= 14) {
    QByteArray MyConRevBuff = m_SerialPort.read(14);
    // 處理讀取的數(shù)據(jù)
} else {
    // 可用字節(jié)數(shù)不足,等待更多數(shù)據(jù)到達(dá)或進(jìn)行錯(cuò)誤處理
}

這樣的修改后可以確保僅在可用字節(jié)數(shù)足夠時(shí)才進(jìn)行讀取操作,從而避免了數(shù)組越界錯(cuò)誤。如果可用字節(jié)數(shù)不足,則可以根據(jù)需要進(jìn)行等待或錯(cuò)誤處理。希望能幫到你。文章來源地址http://www.zghlxwxcb.cn/news/detail-513032.html

Ref.

到了這里,關(guān)于【Visual Studio】報(bào)錯(cuò) ASSERT: “i >= 0 && i < size()“,使用 C++ 語言,配合 Qt 開發(fā)串口通信界面的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【VTK】VTK 顯示小球例子,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    【VTK】VTK 顯示小球例子,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    知識不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。 編號 內(nèi)容 1 【Visual Studio】在 Windows 上使用 Visual Studio 構(gòu)建 VTK 2 【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK 3 【VTK】VTK 顯示小球例子,在 Windows 上使用 Visual Studio 配

    2024年02月17日
    瀏覽(35)
  • 【VTK】讀取一個(gè) STL 文件,并使用 Qt 顯示出來,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    【VTK】讀取一個(gè) STL 文件,并使用 Qt 顯示出來,在 Windows 上使用 Visual Studio 配合 Qt 構(gòu)建 VTK

    知識不是單獨(dú)的,一定是成體系的。更多我的個(gè)人總結(jié)和相關(guān)經(jīng)驗(yàn)可查閱這個(gè)專欄:Visual Studio。 直接先把效果放出來,有需要就往下看。 骷髏3D打印3D模型

    2024年02月14日
    瀏覽(26)
  • paddle中import onnxruntime報(bào)錯(cuò)缺失Microsoft Visual C++ Redistributable for Visual Studio 2019 not install

    import onnxruntime 報(bào)錯(cuò)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日
    瀏覽(23)
  • 報(bào)錯(cuò)error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“

    報(bào)錯(cuò)error: Microsoft Visual C++ 14.0 is required. Get it with “Build Tools for Visual Studio“

    報(bào)錯(cuò) 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 報(bào)錯(cuò) Microsoft Visual C++ Build Toolds 安裝包丟失或損壞 Python pip報(bào)錯(cuò): error: Microsoft Visual C++ 14.0 is requir

    2024年02月12日
    瀏覽(21)
  • C++ Visual Studio報(bào)錯(cuò):error LNKXXX: 無法解析的外部符號 __imp_XXXXX的解決方法
  • <c++開發(fā)> Visual Studio使用開發(fā)-相關(guān)問題雜錄

    <c++開發(fā)> Visual Studio使用開發(fā)-相關(guān)問題雜錄

    <c++開發(fā)> Visual Studio使用開發(fā)-相關(guān)問題雜錄 問題1:使用Visual Studio2022 運(yùn)行Visual Studio2019的工程發(fā)生 error MSB8020 前景:使用Visual Studio2022 運(yùn)行Visual Studio2019的工程; 錯(cuò)誤如下: G:WorkSoftVS2022MSBuildMicrosoftVCv170Microsoft.CppBuild.targets(442,5): error MSB8020: 無法找到 Visual Studio 2019 的

    2024年02月08日
    瀏覽(18)
  • Microsoft Visual Studio C++開發(fā)環(huán)境的配置及使用

    Microsoft Visual Studio C++開發(fā)環(huán)境的配置及使用

    本文引用自作者編寫的下述圖書; 本文允許以個(gè)人學(xué)習(xí)、教學(xué)等目的引用、講授或轉(zhuǎn)載,但需要注明原作者\(yùn)\\"海洋餅干叔 叔\\\";本文不允許以紙質(zhì)及電子出版為目的進(jìn)行抄摘或改編。 1.《Python編程基礎(chǔ)及應(yīng)用》,陳波,劉慧君,高等教育出版社。免費(fèi)授課視頻 Python編程基礎(chǔ)及應(yīng)

    2024年02月04日
    瀏覽(25)
  • 使用 Visual Studio 2022 開發(fā) Linux C++ 應(yīng)用程序

    使用 Visual Studio 2022 開發(fā) Linux C++ 應(yīng)用程序

    前置條件: Windows上需要先安裝 WSL2,方法見: Install WSL | Microsoft Docs 在 WSL2 中依次執(zhí)行如下命令,進(jìn)行安裝如下必需軟件: Visual Studio 2022 引入了用于 Linux C++ 開發(fā)的本機(jī) WSL2 工具集,可以構(gòu)建和調(diào)試 Linux C++ 代碼,并提供了非常好的 Linux 文件系統(tǒng)性能、GUI 支持和完整的系統(tǒng)

    2024年02月05日
    瀏覽(38)
  • Visual Studio 2022 中解決使用scanf報(bào)錯(cuò)的方法(一勞永逸)

    Visual Studio 2022 中解決使用scanf報(bào)錯(cuò)的方法(一勞永逸)

    目錄 【前言】 一、scanf報(bào)錯(cuò)示例 二、解決使用scanf報(bào)錯(cuò)的方法 解決方法1(不推薦) 解決方法2(不推薦) 解決方法3(強(qiáng)烈推薦) 第一步 第二步 第三步 三、效果演示(方法三) 【最后】 ??個(gè)人主頁:庫庫的里昂 ???CSDN新晉作者 ???歡迎 ??點(diǎn)贊?評論?收藏 ???其他

    2024年02月12日
    瀏覽(24)
  • Visual Studio 2022 中使用scanf報(bào)錯(cuò)的解決方法(一次性解決)

    Visual Studio 2022 中使用scanf報(bào)錯(cuò)的解決方法(一次性解決)

    ?? 鴿芷咕 :個(gè)人主頁 ??? 個(gè)人專欄 :《C語言初階篇》 《C語言進(jìn)階篇》 ??生活的理想,就是為了理想的生活! ?? ?? hello! 各位寶子們大家好啊,前面一章給大家介紹了Visual Studio 2022 的安裝和使用! ?? ?? 但是 Visual Studio 2022 并不是按照標(biāo)準(zhǔn)的C語言標(biāo)準(zhǔn),所以使

    2024年02月16日
    瀏覽(98)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包