1

それぞれが 256 要素を保持する 6 つの int 配列を使用しています。かなり標準的だと思います。

私が直面している問題は、これらすべての配列を 0 でいっぱいになるように初期化しているときに、Bus Error: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;行で発生します

それは私を際限なく悩ませています、私は自分の配列の範囲外に出ているところを見ることができません、そして私は動的記憶の観点から私の理解をはるかに超えた力をいじっていません.

どんな助けでも役に立ちます。

4

1 に答える 1