看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《kingp (我很窮)》之銘言: : 請問一下 由於我的一維陣列相當大 : 因此選擇用動態一維陣列來做 以下是我的程式碼 : 大致上是參考GOOGLE的一些範例 : int m=0, A=220000; : int *M = new int [A]; : for(m=0; m<A; m++); : { : M[m] = new int[A] ; <-------- ERROR new int[A] => int * M[m] => int 這個錯誤訊息和大小無關, 你的 type 根本不對 : } : for(m=0; m<A; m++); : { : delete [] M; : } : delete M; : 不過compiler會顯示 "無法由 'int *' 轉換為 'int' " : 請問我的問題出在哪呢?? 你要把一維當成二維用, 那你的一維長度就是二維的維度乘積 那兩個為了 new 和 delete 而寫的 for 是不必要的 假設圖的維度是 row 和 column 則 int A = row * column 以原本的 (x,y) 對應到一維座標是 M[y][x] === M[y*column+x] -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.96.116.187 ※ 編輯: legnaleurc 來自: 175.96.116.187 (05/31 22:23)
ericinttu:推一下 06/01 09:41