У меня есть базовый класс GameObject, который в настоящее время является родителем Camera и SolidObject. SolidObject родители, игрок и GameMap. По какой-то причине я получаю только неопределенные ссылки на vtable в конструкторе и деструкторе GameMap. Вот код (я не буду включать камеру или плеер). ПРИМЕЧАНИЕ: GameObject и SolidObject находятся в World.h, потому что они маленькие и должны быть подключены. Я буду включать только материалы, связанные с этими классами и GameMap.
Я переключил наследование, чтобы GameMap наследовал от GameObject вместо SolidObject, но все равно вызывает ту же ошибку.
World.h
class GameObject
{
public:
World* parent;
unsigned int objID;
virtual void step();
};
class SolidObject : public GameObject
{
public:
float xpos, ypos, zpos;
float xrot, yrot, zrot;
};
World.cpp
void GameObject::step()
{
}
GameMap.h
class GameMap : public GameObject
{
private:
WFOBJ model;
public:
GameMap(World* world, char* modelFile, char* textureFile);
~GameMap();
void step();
void setModel();
};
GameMap.cpp
void step()
{
}
GameMap::GameMap(World* world, char* modelFile, char* textureFile)
{
model.loadFile(modelFile, textureFile);
objID = world->addObject(this);
parent = world;
}
GameMap::~GameMap()
{
parent->removeObject(objID);
}