看板 C_and_CPP 關於我們 聯絡資訊
請問一下 由於我的一維陣列相當大 因此選擇用動態一維陣列來做 以下是我的程式碼 大致上是參考GOOGLE的一些範例 int m=0, A=220000; int *M = new int [A]; for(m=0; m<A; m++); { M[m] = new int[A] ; <-------- ERROR } for(m=0; m<A; m++); { delete [] M; } delete M; 不過compiler會顯示 "無法由 'int *' 轉換為 'int' " 請問我的問題出在哪呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.156.124
einspon:當然不對, 請問你兩個for迴圈是要幹嘛的,我看你自己也不知 05/31 21:07
einspon:道吧 05/31 21:08
purpose:二維陣列的開局 05/31 21:08
einspon:他是要動態一維 05/31 21:10
kingp:扣除第二個迴圈的話 05/31 21:15
angleevil:M[m] = new int[A] ;-->M[m] = m;,你先把當他array來用 05/31 21:24
angleevil:= =你那用法不倫不類,我也不知道怎麼矯正觀念 05/31 21:24
angleevil:最快辦法去找書本有一維,二維陣列的範例,你看懂後, 05/31 21:27
angleevil:你可能自己也會發笑. 05/31 21:28
james732:http://pastie.org/1998135 一維的話這樣就夠了 05/31 21:29
cismjmgoshr:220000*220000*4 大約需要180.3GB的記憶體空間 05/31 21:29
tropical72:你這陣列的主要用圖是幹嘛的請先說明. 05/31 21:39
kingp:做一張image的處理 pixel大概是500*300 只用一維陣列做 05/31 21:46
james732:所以我給的範例是可以的嗎...? 05/31 22:00
angleevil:我覺得怪怪的,圖是二維的,為何他用一維? 05/31 22:08
ericinttu:int *M = new int [A]; 你倒底是要用一維還二維? 05/31 22:10
kingp:你的範例他還是顯示太大 05/31 22:11
kingp:我是把每個pixel的灰度值存在一維陣列然後做統計 05/31 22:13
kingp:不過看來只能用二維去做做看了 05/31 22:14
angleevil:有一個辦法,把它改成goble 變數. 05/31 22:16
james732:顯示太大←這是什麼? 05/31 22:18
kingp:就是陣列太大 無法執行 05/31 22:20
a5480277:500*300 = 150,000 這樣就夠啦 你是要存幾張呀? 05/31 22:26
angel212310:int *M = new int [A]; 這行怪怪的............ 05/31 22:38
arrenwu:int *M = new int [A]; 這行沒問題吧? 06/01 01:33
VictorTom:看怎麼解讀啦, 若解讀成原po想開2維動態, 那行是怪怪的. 06/01 02:32
VictorTom:雖然說原po文章裡寫了想開一維陣列....XDD 06/01 02:34
bbbbbbjeff:500*300 而已不用 new 吧 .... 06/01 05:00
kinabcd:把(int*)new int [A] 給 (int)M[m]? 06/01 10:35