- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:for文内の計算時に出るエラーについて)
for文内の計算時に出るエラーについて
このQ&Aのポイント
- 配列に格納している値を使って計算するプログラムを作成していますが、エラーが発生しています。
- プログラムの内容は、2次元配列に格納された値をfor文で加算するものです。
- エラーメッセージによると、ランタイムの重大なエラーが発生していて、CLRのバグである可能性があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
添え字の範囲が越えちゃってるんじゃないの?
その他の回答 (3)
- trajaa
- ベストアンサー率22% (2662/11921)
回答No.4
「0xc0000005」で検索しましたか? メモリアクセス違反です 要は、i又はjまたはa構造体のnumの何れかに於いて、溢れが発生している
質問者
お礼
回答ありがとうございました! aで宣言している値を超えていたのが、原因でした。 プログラムを上書きしながら作成していて、宣言の値を更新していない確認ミスでした。
- Wr5
- ベストアンサー率53% (2173/4061)
回答No.3
配列の添え字は0から…かと思いますが…… >for(j=1;j<=768;j++){ > for(i=1;i<=10;i++){ > a[i][j].num+=b[i][j].num > } >} i,jともに1からになっているのは想定通りですか? また、a[][]とb[][]はどのように作成されていますか? a[10][768]、b[10][768]だったら吹っ飛びますよ。 a[11][769]、b[11][769]ならOKですが。
質問者
お礼
回答ありがとうございました! 単純に1からの方がわかりやすいかと思い、0は使用しないようにしていました。 ただ、aで宣言している値を計算時に超えていたのが、原因でした。 プログラムを上書きしながら作成していて、宣言の値を更新していない確認ミスでした。
- hidebun
- ベストアンサー率50% (92/181)
回答No.2
aとbの宣言はどうなってます? ちなみに、配列の添字は0始まりです。
質問者
お礼
回答ありがとうございました! aで宣言している値を超えていたのが、原因でした。 プログラムを上書きしながら作成していて、宣言の値を更新していない確認ミスでした。
お礼
回答ありがとうございました。 ご指摘の通りでした。 プログラムを上書きしながら作成していて、配列aの宣言の部分を更新していないことが原因でした。