全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1658
推到 Plurk!
推到 Facebook!

執行完程式關閉後竟然出現錯誤

答題得分者是:GrandRURU
DaMoWang
一般會員


發表:3
回覆:1
積分:0
註冊:2007-11-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-06 21:10:48 IP:203.64.xxx.xxx 訂閱

[code cpp]
int Tw,temp,q;
int w=0;
int *Sub;
w=sqrt(Region);
q=(Region*sun);

for(int y=0;y {
for(int x=0;x {

Sub=new int[Region];
...

省略



delete [] Sub;
}
}
程式中 宣告的 *Sub本來是一個靜態矩陣
我後來改成動態
神奇的是情發生了 Compiler成功 但是 程式關閉後穿現

Accecc violation at address 00416c2b

錯誤訊息

懇請各位大大解惑 對了 我這程式只用了一個動態矩陣

[/code]
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-06 22:29:20 IP:220.139.xxx.xxx 未訂閱
按照你的寫法,不應該會有這樣的問題,把你的程式碼修改之後重新在新的專案上跑,也沒有問題,應該是其它程式沒有釋放吧?
以下是我修改後的測試程式:
[code cpp]
#include <math.h><br />#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
using namespace std;
int main(int argc, char* argv[])
{
double Region = 100, sun = 1;
int Tw,temp,q,OriH=10,OriW=10;
int w=0;
int *Sub;
w=sqrt(Region);
q=(Region*sun);
for(int y=0;y {
for(int x=0;x {
Sub=new int[Region];
delete [] Sub;
}
}

return 0;
}
[/code]
編輯記錄
GrandRURU 重新編輯於 2008-05-06 22:30:24, 註解 無‧
dfredfc0
一般會員


發表:8
回覆:9
積分:3
註冊:2006-11-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-08 16:11:36 IP:203.64.xxx.xxx 訂閱

GrandRURU 大大請問一個問題~會出現上面那個錯誤訊息~只是單純記憶體沒釋放嗎?還是有其他的原因?

因為我電腦只開一個BCB的專案~用完動態矩陣也有delete~但還是會出現那個訊息= =


編輯記錄
dfredfc0 重新編輯於 2008-05-08 16:13:05, 註解 無‧
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-08 20:44:30 IP:61.219.xxx.xxx 未訂閱
我也不知道其他還有那些資料。
就發文者的程式內容重新開新專案之後編譯,在我這邊的結果是正常的。

至於是不是其他地方造成的問題,就必須看到才能回答了。
hdilwy
初階會員


發表:18
回覆:65
積分:41
註冊:2004-08-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-12 10:51:22 IP:61.31.xxx.xxx 訂閱
我有一個疑問,你動態宣告矩陣的大小是否一樣呢?
如果一樣的話其實在迴圈最外層宣告一次就好,
因為我並沒有看到你宣告設定矩陣大小變數的改變,
此外為何會在程式結束的時候才發生錯誤可能是你再
該雙迴圈過程中覆蓋到別人的記憶體,但是當時沒有
人去使用那塊記憶體,所以不會發生錯誤,所以請你
檢查設定的大小與使用的大小是否有出入。

希望這樣的檢查可以幫你解決問題!
DaMoWang
一般會員


發表:3
回覆:1
積分:0
註冊:2007-11-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-05-12 17:40:23 IP:203.64.xxx.xxx 訂閱
後來我發現 是我for回圈範圍錯了 
跟Sub完全無關 只是可能剛剛好死不死一改問題才發生

來人啊
掌嘴掌嘴掌嘴掌嘴掌嘴掌嘴
編輯記錄
DaMoWang 重新編輯於 2008-05-12 18:12:12, 註解 無‧
DaMoWang 重新編輯於 2008-05-12 18:13:35, 註解 無‧
DaMoWang 重新編輯於 2008-05-12 18:14:23, 註解 無‧
系統時間:2024-04-27 8:09:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!