Привет, я не так давно начал программирование на C++, но имел несколько лет опыта работы на других языках. На данный момент я работаю над базовой игрой, в которой игрок будет сражаться с монстрами против монстров AI в финальной игре в стиле фэнтези.Проблема с указателями
класс чемпионов наследуется от класса AbstractMonster, и я хочу, чтобы игрок мог выбрать своего начального монстра из выделения. Однако на данный момент у меня есть только тот, который запрограммирован так, как будто я могу заставить это работать, я должен быть в состоянии получить остальное
Проблема, с которой я столкнулся, - это указатель на монстра игрока, поскольку он продолжает поднимать , Место записи нарушения доступа 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? – Leeor
Недостаточно кода для определения проблемы. – IdeaHat
У вас, вероятно, есть нулевой указатель где-то, то есть указатель, который не указывает на объект, что может произойти, когда ваш ввод выше не равен 1. –