式エバリュエータ エラー CXX0030ってわかりますか? – プログラミング – Home

式エバリュエータ エラー CXX003...
 
通知
すべてクリア

式エバリュエータ エラー CXX0030ってわかりますか?


ふじ
 ふじ
(@ふじ)
ゲスト
結合: 22年前
投稿: 16
Topic starter  

expression not evaluatable

デバッガの式エバリュエータで式に対する値を記述どおりには取得できませんでした。プログラ
ムのアドレス空間以外のメモリを参照している可能性があります。たとえば、null ポインタが
参照されています。Windows NT と Windows 95 では、プログラムのアドレス空間以外のメモ
リをアクセスすることはできません。

かっこを使って式を書き換え、評価の順序を調整するといいでしょう。

このエラーは CAN0030 と同じものです。
=====================================
っていう説明で書いてあるけど、
Cep = (float *) malloc(10 * 256 * 50 * 30 * sizeof(float));

if (Cep == NULL)
  {
printf(Sorry! Memory cannot be secured ! \n);
exit(10);
  }
と定義した変数で、
計算中、Access Violationを起こし、
Watchで見ると、
Cep[385530] : 式を評価出来ません。
            Access Violation
と出てきます。
Access Violationも何も、
頭の定義だと、10*256*50*30=3840000≒3.9MB>385530
として、余裕はあると思うのだけど。

他の変数でメモリ食われてると見るべきなのでしょうか?


引用解決済
トピックタグ
wood
 wood
(@wood)
ゲスト
結合: 23年前
投稿: 895
 

10*256*50*30*sizeof(float) だと思いますけど


返信引用
hu
 hu
(@hu)
ゲスト
結合: 22年前
投稿: 4
 

Cepの型はfloat *ですか?


返信引用
cap
 cap
(@cap)
ゲスト
結合: 22年前
投稿: 2
 

>Cep = (float *) malloc(10 * 256 * 50 * 30 * sizeof(float));
こう定義して、計算している部分でどのように使っているのですか?


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました