私が取り組んでいるスペース インベーダー ゲームで非常に奇妙な問題が発生しています。基本的に、アクセス違反エラーが発生します。
SpaceInvaders.exe の 0x5edad442 (msvcr100d.dll) で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00000000。
以下のコードを含めると。Visual Studio では、デバッグ時に "strcmp.asm" に移動します。私のコードでは strcmp() を使用していないことに注意してください。コードに何か問題がありますか、それとも私が含めた範囲を超えた問題ですか? 助けてくれてありがとう
const char* invarray[] = {"invader0.png", "invader1.png", "invader2.png", "invader3.png", "invader4.png"};
int i=0;
//Creates 55 invaders
for (int y=0; y<250; y+=50){
for (int x=0; x<550;x+=50){
Invader inv(invarray[y/50], x+50, y+550, 15, 15, 1, false, 250);
invaders[i] = inv;
}
}
インベーダー コンストラクター:
Invader::Invader(const char *pic, int x, int y, int w, int h, bool dir, bool des, int point) : MovingObject(pic, x, y, w, h) , direction(dir), destroyed(des), b(0), points(point){};
MovingObject コンストラクター
MovingObject::MovingObject(const char *pic, int x, int y, int w, int h):picture(pic), positionX(x), positionY(y), width(w), height(h) {};