[問題] array of pointers (已解決)
最近遇到一個問題想請教各位
如果今天我們程式要開十張圖
但不知道圖的大小
一般的寫法可能是是
unsigned char **image;
image = new unsigned char *[10];
for( int i=0; i<10; i++ ) image[i] = new unsigned char[image_size];
不過昨天碰到有人寫成下面這種寫法
unsigned char *image[10];
for( int i=0; i<10; i++ ) image[i] = new unsigned char[image_size];
但這樣程式就crash了
請問crash的原因是什麼呢?
是因為第二個image的每個pointer只能指向一個size大小的unsigned char嗎?
(也就是不能new[],只能new())
還是因為其他原因呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.48.126
※ 編輯: Trumen 來自: 140.112.48.126 (06/20 16:46)
→
06/20 16:48, , 1F
06/20 16:48, 1F
→
06/20 16:49, , 2F
06/20 16:49, 2F
→
06/20 16:49, , 3F
06/20 16:49, 3F
→
06/20 16:57, , 4F
06/20 16:57, 4F
→
06/20 17:00, , 5F
06/20 17:00, 5F
推
06/20 17:05, , 6F
06/20 17:05, 6F
https://dl.dropbox.com/u/20933521/Software.rar
這是一份software 3d graphics pipeline的程式
目前是會crash的版本 (在release mode 不偵錯執行情況下)
不過如果將
Model.cpp line 1666 拿掉//
definition.h line line 67的//換到line 68
也就是把*image[10]的寫法改成是**image
就可以跑了
※ 編輯: Trumen 來自: 140.112.48.126 (06/20 17:31)
→
06/20 18:05, , 7F
06/20 18:05, 7F
→
06/20 18:07, , 8F
06/20 18:07, 8F
→
06/20 18:08, , 9F
06/20 18:08, 9F
→
06/20 18:08, , 10F
06/20 18:08, 10F
→
06/20 18:09, , 11F
06/20 18:09, 11F
天哪,感謝這位大大!
真正的問題原來是出在這裡....orz
改掉這個原本的也可以跑了XD
※ 編輯: Trumen 來自: 140.112.48.126 (06/20 18:32)
→
06/20 20:09, , 12F
06/20 20:09, 12F
→
06/20 20:10, , 13F
06/20 20:10, 13F
→
06/20 21:13, , 14F
06/20 21:13, 14F
→
06/21 08:59, , 15F
06/21 08:59, 15F
→
06/21 11:10, , 16F
06/21 11:10, 16F
→
06/21 11:48, , 17F
06/21 11:48, 17F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章