对于我正在研究的太空入侵者游戏,我遇到了一个非常奇怪的问题.基本上我收到访问冲突错误:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
Invader构造函数:
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){};
Run Code Online (Sandbox Code Playgroud)
MovingObject构造函数
MovingObject::MovingObject(const char *pic, int x, int y, int w, …Run Code Online (Sandbox Code Playgroud) 在实际执行流程之前,我将如何打印流程ID?有没有办法可以获得先前执行的进程ID并且只是递增?
即
printf(<process id>);
execvp(process->args[0], process->args);
Run Code Online (Sandbox Code Playgroud)