C++Debug Assertion Failed!到底出錯在哪裏?
在執行程序時,時常遇到一些Debug Assertion Failed!的錯誤警告對話框,對於初學者不知道問題出在哪裏,我在這裏以一個簡單的例子演示給大家。
操作方法
(01)下面這幅圖是我的程序源代碼截圖,這是一個很簡單的小程序,不妨自己閲讀下能否找到錯誤。
(02)下圖是在執行程序時彈出的錯誤警告對話框,類似的情況很多,我在調試dll插件的時候也時常碰到,後來發現大多是指針引起的錯誤。
(03)下圖熒光筆標記的地方,是Distance類析構函數,這裏使用了delete,其實是畫蛇添足的,因為pDist指針是靜態分配的內存,當程序運行完後,其內存自動釋放,此時使用delete就是刪除一個不存在的指針,從而報錯,而實際上delete是與new搭配使用的。
(04)總結來説這種錯誤存在兩種情況,其一就是野指針。
(05)另一種情況就是內存泄露。
(06)在調試的時候一定是在自己編寫的函數上找錯,不要一隻跟着調試順序在庫函數裏找錯。
特別提示
單步調試找到錯誤,祝好運。
-
如何利用ps去水印
當你在網絡上看到一張圖片的時候很想保存下來的時候,卻無奈的發現這張圖片有水印,通常我們使用的方法就是截圖,用裁剪的方式去掉有水印的地方,但是如此就會破壞整張圖的佈局美感,下面就教你如何用ps的填充功能快速去除水印。操作方法(01)相信大家對於如何安裝ps已經很...
-
怎麼取消電腦自動鎖屏
不喜歡電腦自動鎖屏,但也不知道怎麼設置,沒關係,一起和我來了解一下吧。操作方法(01)我們先打開“控制面板”,可以在“開始菜單”或者是直接在桌面上打開,大家就自己選擇吧。(02)打開之後,我們選擇“系統和安全”。(03)再在“電源選項”下,選擇“更改計算機睡眠時間”。(04)最...
-
html中a標籤的四個偽類
今天為大家介紹一下html中a標籤的四個偽類,即用於向被選中元素添加特殊的效果......操作方法(01)偽類:偽類用於向被選中元素添加特殊的效果。(元素在特定情況下才具備的)如圖分別是將a標籤的link、hover、active、visited修改後的樣式(02)a標籤的四個偽類之link即未...
-
C語言代碼集:[1]九九乘法表
利用C語言,是屏幕中打印出九九乘法表。代碼展示及目標程序(01)代碼如下:#include<stdio.h>main(){intx,y,z;for(x=1;x<=9;x++){for(y=1;y<=x;y++){z=x*y;printf("%d*%d=%d ",y,x,z);}printf("\n");}}(02)目標程序如圖:代碼分析(01)核心代碼int x,y,z;for(x=1;x<=9;x+...