有一个指针问题

时间:2014-12-17 20:57:47

标签: c++ pointers memory

嗨,我已经很久没有开始用c ++编程了,但是有几年的其他语言经验。目前我正在开发一款基本游戏,玩家将在最终的幻想风格游戏中对抗怪物怪物。

冠军类继承自AbstractMonster类,我希望玩家能够从选择中选择他们的起始怪物。但是目前我只有一个编程,好像我可以让它工作,我应该能够得到其余的

我遇到的问题是指向玩家怪物的指针,因为它不断提升a。访问冲突写入位置0x00000000。

这是我目前正在使用的头文件的唯一部分

#include "AbstractMonster.h"
#include "Champion.h"

class mainGame{
public:
    void createMonster()
private:    
    AbstractMonster* playerMonster = nullptr;
}

.cpp文件中的函数如下

void mainGame::createMonster(){    
    playerMonster = new Champion(); //this is the line the errors at and it highlights playerMonster  
}

任何帮助都会非常感激,因为我已经有这个问题了几天了。

1 个答案:

答案 0 :(得分:1)

Access violation writing location 0x00000000.告诉我您正在访问一个从未分配给new对象的指针。我会检查你使用playerMonster的位置,并确保它是有效的。检查的一个好方法是当你宣布playerMonster将其设置为等于nullptr

AbstractMonster* playerMonster = nullptr;

然后在您使用它的地方运行检查以查看它是否仍为空if (plasyerMonster == nullptr)