Я пытаюсь, чтобы класс с именем Cube имел атрибут, который является экземпляром другого куба.
Вот важные части моего Cube.cpp:
bool hasSon = false;
Cube* son;
Cube::Cube()
{
}
void Cube::setSon(Cube* s)
{
son = s;
hasSon = true;
}
void Cube::draw() {if(hasSon) {son->draw()}}
А вот и мой куб.h:
class Cube
{
public:
Cube();
bool hasSon;
Cube* son;
void setSon(Cube* son);
void draw();
};
Я создаю экземпляр куба и использую setSon (); вот так:
Cube* base = new Cube();
Cube* base2 = new Cube();
base->setSon(base2);
Проблема, с которой я сталкиваюсь, заключается в том, что у меня возникают ошибки памяти, даже если я никогда не вызываю setSon();
, как правильно установить атрибут son
?
Вот моя ошибка:
Exception thrown at 0x00DA3716 in CG_Demo.exe: 0xC0000005: Access violation reading location 0xCDCDCDF1.
Unhandled exception at 0x00DA3716 in CG_Demo.exe: 0xC0000005: Access violation reading location 0xCDCDCDF1.