Я создаю простой игровой движок и у меня мало проблем с переключением сцены.
У меня 2 класса: Game и Scene
В классе Game у меня есть 2 указателя на сцены, иМетод switchScene (), которым я хочу поделиться с объектами Scene.
В классе Scene я хочу иметь указатель на игровой объект, но это не работает.
Game.hpp
#pragma once
#include "Scene.cpp"
class Game{
public:
Game();
~Game();
void init(const char* title, int width, int height, bool fullscreen, int fps);
void switchScene(Scene* scene);
private:
Scene* stage = nullptr;
Scene* tmpStage = nullptr;
};
Scene.hpp
#pragma once
#include <vector>
#include <string>
#include "Game.hpp"
class Game;
class Scene{
public:
Scene(std::string sceneName);
~Scene();
void setGame(Game* g);
protected:
Game* game;
};
Таким образом, я потерял определение класса Game и получил эту ошибку при попытке переключения сцены:
error: invalid use of incomplete type ‘class Game’
game->switchScene(new Scene("A"));
Чтоя могу сделать с этим?Как поставить ссылку на игровой объект в Scene?