日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

0x00007FF7C49A4C42 处有未经处理的异常:0xC0000005: 读取位置 0x000001481A2D86C4 时发生访问冲突

發布時間:2024/3/7 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 0x00007FF7C49A4C42 处有未经处理的异常:0xC0000005: 读取位置 0x000001481A2D86C4 时发生访问冲突 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這個問題我最近遇到過幾次,主要是在做特征點檢測,或者有用到有數組或者向量的情況下,有可能會出現這種情況,可能出現這種問題的情況有很多,我現在說一下我發現的問題:
這幾次出現這種問題基本都是溢出問題,比如一個向量他的大小為500,而你在訪問的時候卻訪問了他的第501個元素,就會出現這種問題,但是這種問題比較難發現,因為程序寫的沒有問題,但是就是會蹦出來這種問題呀,我當時是一個一個去試,由于程序比較大,我會重新建立一個工程,然后把這個程序簡化掉,然后再去找問題。下面我來舉個栗子:

vector<Vec4i> m1,m2;//創建兩個向量m1.push_back(Vec4i(1, 2, 3, 4));//往向量里面加入數據m1.push_back(Vec4i(3, 5, 8, 7));m1.push_back(Vec4i(2, 8, 9, 7));m2.push_back(Vec4i(1, 9, 6, 17));//同理m2.push_back(Vec4i(37,45,126,32));m2.push_back(Vec4i(4,5,96,21));vector<double>distance;//同理distance.push_back(2.236);distance.push_back(1.732);distance.push_back(2);distance.push_back(0.2358);distance.push_back(0.001);std::vector<double>::iterator minest = min_element(begin(distance),end(distance));int position = std::distance(std::begin(distance), minest);//找出distance向量中最小的元素所在的位置int nnn = m1[0][3] - m2[position][3];

最開始的時候出現這個問題是下面這句代碼:

int nnn = m1[0][3] - m2[position][3];

我寫了個很簡單的例子,distance向量中最小的元素的位置是4,在這句代碼中,我們訪問m2向量時m2[position][3],也就是訪問m2[4][3],但是實際上m2是沒有第四行的,這個時候就會造成訪問越界,就會出現讀取位置是發生訪問沖突。但是在實際運行中,nnn的值可能是隨機的,這都有可能。

總結

以上是生活随笔為你收集整理的0x00007FF7C49A4C42 处有未经处理的异常:0xC0000005: 读取位置 0x000001481A2D86C4 时发生访问冲突的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。