【发布时间】:2014-12-17 20:57:46
【问题描述】:
您好,我开始使用 c++ 编程的时间不长,但在其他语言方面有几年的经验。目前我正在开发一款基础游戏,玩家将在最终幻想风格的游戏中与他们的怪物对抗 AI 怪物。
冠军类继承自 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
}
任何帮助将不胜感激,因为我已经有这个问题了几天了。
【问题讨论】:
-
那么如果 input != 1 ,你在哪里分配内存?
-
没有足够的代码来确定问题。
-
你可能在某处有一个空指针,即一个不指向对象的指针,当你上面的输入不是 1 时会发生这种情况。
-
冠军和萨满头文件是什么样的?它们都继承自 AbstractMonster 吗?
-
这个错误听起来像一个空指针。