画面の大きさの二次元配列の
field[-640][-480]~field[1280][960]に0を
field[0][0]field[640][480]にすべて1を
代入して例えば
int field_check(int x,int y){
if(y<-640||1280<y||x<-480||960<x){
return-1;
}else{
return field[x][y];
}
}
field_tmp[640*3][480*3]を宣言しておき
field_tmp[640][480]のアドレスに
field[0][0]を持ってくればいいと考えました。
しかしうまくいかず、コンパイラは通りますがいざ起動すると強制終了します。
どうしたらいいでしょうか?
マルチポストしていたので気分を害される方もいるかもしれませんが
よろしくお願いします。
↓マルチポストしていた文章です。
.h
int field_tmp[Y_MAX][X_MAX];
extern int **field=(int**)&(field_tmp[Y_MAX][X_MAX]);
↑複数のファイルでインクルードしてるため再定義エラーになる。
.h
int field_tmp[Y_MAX][X_MAX];
extern int **field;
ini.cpp
**field=(int**)&(field_tmp[Y_MAX][X_MAX]);
↑int **からintに変換できませんって言われる。
左辺がint**で右辺がintって言ってるんだよね?
左辺をキャストしたらアクセス違反ゆわれた(;_;)
誰かヘルプミー(;_;)