我使用6個整數的數組,每個保存256個元素。相當標準,我想。總線錯誤:10與更多索引去
我面臨的問題是,當我初始化所有這些數組爲0時,我得到一個總線錯誤:10。每次在我的循環的第240次迭代。
這裏是我的頭文件...
class histEqImage {
private:
int histogramR[256];
int histogramG[256];
int histogramB[256];
int dashR[256];
int dashB[256];
int dashG[256];
void initHistograms();
public:
//Other declarations here...
};
及這裏的問題是發生在函數...
void histEqImage::initHistograms() {
//Ensure all the values in the histogram are at 0.
for(i = 0; i <256; i++) {
histogramR[i]= 0;
histogramG[i] = 0;
histogramB[i] = 0;
dashR[i] = 0;
dashG[i] = 0;
dashB[i] = 0;
}
}
所以每一次我去我的這部分代碼,程序崩潰,在i = 240。對不起,指定好一點,它發生在dashB[i] = 0;
行
這讓我感到無法接受,我看不到我要走出我的陣列的邊界,而且我也沒有搞亂在動態記憶方面力量遠遠超出我的理解力。
任何幫助,將有所幫助。
您能否顯示分配代碼?你正在使用'new []',對吧? – dasblinkenlight 2012-04-28 10:06:27
這些只是簡單的數組,根本沒有分配。 – 2012-04-28 10:08:14
不,我的意思是'histEqImage',你將它分配給堆棧,動態還是作爲數組的一部分? – dasblinkenlight 2012-04-28 10:09:10