[問題] 記憶體溢位?

看板C_and_CPP (C/C++)作者 (我要肌肉...)時間16年前 (2009/05/21 11:58), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
小弟在寫程式的時候,寫道下列程式片段的時候 如果random_30()乘上一個數字,產生出來結果,好像最後會讓影像溢位 如果沒有成上數字好像就沒差,知道問題在下面,可是不知道怎麼解決。 會不會是unsigned char 跟 int 相加會有問題? 煩請各位高手指點了@_@ vector<vector<unsigned char> > image_array(m, vector<unsigned char>(n)); for ( int i = 0 ; i< m ;i++ ){ for ( int j = 0 ; j< n; j++ ){ fin >> image_array[i][j]; //亂數部分 random_n=random_30(); outtxt << random_n << endl; fix=image_array[i][j]+random_n; if (fix>255) image_array[i][j]=255; if (fix>=0 && fix <=255) image_array[i][j]=fix; if (fix<0) image_array[i][j]=0; //亂數部分結束 fout << image_array[i][j]; } } /////////////////////////////////////// int random_30() { int Cell[12]; int c; int sum; sum=0; for(c=0;c<12;c++) { Cell[c]=10*rand()/RAND_MAX; sum+=Cell[c]; } sum=sum-54.0; return sum; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.28.65

05/21 13:08, , 1F
fix的型態是什麼??
05/21 13:08, 1F

05/21 13:57, , 2F
fix的型態是 int
05/21 13:57, 2F

05/21 15:28, , 3F
Orz 投降輸一半 Orz
05/21 15:28, 3F

05/21 20:46, , 4F
呵呵 但是還是很謝謝!!
05/21 20:46, 4F

05/22 13:45, , 5F
圖檔的pixel值不是都用assign給的嗎? 不會溢位吧
05/22 13:45, 5F

05/22 13:48, , 6F
是不是random_30()乘上別的數以後 值都幾乎大於255 一片白
05/22 13:48, 6F

05/29 20:42, , 7F
不是耶 他真的會溢位 所以我才丟上來...orz
05/29 20:42, 7F

05/29 20:43, , 8F
原因好像是因為vector @_@
05/29 20:43, 8F
文章代碼(AID): #1A5D5rUH (C_and_CPP)
文章代碼(AID): #1A5D5rUH (C_and_CPP)