嗨,我已经很久没有开始用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
}
任何帮助都会非常感激,因为我已经有这个问题了几天了。
答案 0 :(得分:1)
Access violation writing location 0x00000000.
告诉我您正在访问一个从未分配给new
对象的指针。我会检查你使用playerMonster的位置,并确保它是有效的。检查的一个好方法是当你宣布playerMonster将其设置为等于nullptr
AbstractMonster* playerMonster = nullptr;
然后在您使用它的地方运行检查以查看它是否仍为空if (plasyerMonster == nullptr)
。