0
我有一类玩家是这样的:访问冲突读取位置0x00000004
class Player
{
public:
Player();
~Player(void);
Sprite *sprite;
Sprite *rocket;
void draw(int x, int y, SpaceInvaders *system);
}
和Player.cpp
void Player::draw(int x, int y, SpaceInvaders *system) {
sprite = system->createSprite("data/player.bmp");
sprite->draw(x, y);
}
Player::~Player(void)
{
sprite->destroy();
rocket->destroy();
}
这场平局方法被称为在一个while循环主:
player.draw(int(xPos), 480-32, system);
游戏运行良好,直到IX窗口。这就是当我在Player :: draw方法的第一行得到“访问冲突读取位置0x00000004”时。 我读过它可能是由于传递空指针或空引用,但我不知道如何解决这个问题。
希望得到任何帮助,谢谢!
你关注了[三条规则](http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three)? – jrok
“X”窗口?关闭窗口?它是否在Windowed环境中运行( Win32,QT,Gtk)还是作为控制台应用程序? – Chad
“Player :: Player()”的定义是什么? – cdhowie