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

動態二維陣列指定字串,delete後compiler有錯?

答題得分者是:ikk
Giansaoe
一般會員


發表:1
回覆:0
積分:0
註冊:2009-03-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-03-18 13:44:06 IP:140.122.xxx.xxx 訂閱
參考站上的動態二維陣列宣告,自已實做一個c++並指派字串
[code cpp]
char **data;
data = new char*[count_string];
for(i = 0; i < count_string; i ){
data[i] = new char[count_char];
data[i]="hello";
}
for(i = 0; i < count_string; i )
delete [] data[i];
delete [] data;

[/code]
但compile後卻會出現Debug Assertion Failed! _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)的訊息
如果不指派字串,卻又可以正常delete,請問這是為什麼啊?又該如何正確的delete


ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-18 16:40:57 IP:140.116.xxx.xxx 訂閱

字串的使用問題, 修改如下.

[code cpp]
char **data;
int count_string = 10;
int count_char = 10;
int i;
data = new char*[count_string];
for(i = 0; i < count_string; i ){
data[i] = new char[count_char];
strcpy(data[i],"hello");
}
for(i = 0; i < count_string; i )
delete [] data[i];
delete [] data;

[/code]
------
FPGA驗證, FPGA開發平台, http://smims.com
編輯記錄
ikk 重新編輯於 2009-03-18 16:42:06, 註解 無‧
系統時間:2024-04-19 20:42:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!