看板 C_and_CPP 關於我們 聯絡資訊
我在程式開頭創了個二維陣列 int pic_buffer[240][320]=0; 然後我想用副函式來處理它,以下是我的副函式 void save_pic(FILE *ptr,int **buffer,int h,int v,int m) { int i=0,j=0,k=0,cnt=0; for(i=0;i<v;i++){ for(j=0;j<h;j++){ fread(&buffer[i][j],3,1,ptr);// get the infomation of pixel } if(m){ cnt=h%4; fseek(ptr,cnt,SEEK_CUR);// ignor infomation of pixel } } } 我在主程式裡這樣呼叫 save_pic(bmpptr,pic_buffer,ht,vt,miss); 之後編譯一直有錯顯示implicit cast of pointer to non-equal pointer 新手小弟我懇請各位大大指教ㄒ口ㄒ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.132.124
dendrobium:void save_pic(FILE *ptr,int buffer[][320], int h, 01/06 14:12
dendrobium: ^^^^^^^^^^^^^^^^^ 01/06 14:13
netsphere:月經題 01/06 14:14
hardman1110:為什麼240不用打? 還有這樣不是又創一個320*240的空間 01/06 14:17
hardman1110:嗎? 用指標指會不會比較省空間? 01/06 14:18
ledia:那只是 type .... 01/06 14:19
ledia:你傳的還是一個指標, 只是告訴他這個指標該怎麼用 (長、寬) 01/06 14:21
ledia:假如沒告訴它, 那麼 buffer[1][1] 要取用哪個記憶體位置? 01/06 14:23
ledia:你的 save_pic 會沒有資訊可以找出來, 給它一個 [320] 它就 01/06 14:24
ledia:知道是 1*320 + 1 01/06 14:24
hardman1110:了解,謝謝你 01/06 14:36