ПРИМЕЧАНИЕ. Повторная загрузка вопроса, ошибочно помеченного как дубликат
Я работаю с Ogre, но мой вопрос находится непосредственно в пространствах имен.
Я не смог найти ответэто мне здесь помогает.
Я пытаюсь переслать объявление классов Ogre :: xyz в моем заголовочном файле для CameraController.
Это заголовочный файл
class Ogre;
class Ogre::SceneNode;
class Ogre::SceneManager;
class CameraController
{
private:
Ogre::SceneNode* camNode;
Ogre::SceneManager* scnMgr;
};
Это файл cpp
#include "CameraController.h"
#include <OgreSceneManager.h>
#include <OgreSceneNode.h>
... definitions of functions.
Какой правильный способ добиться того, что я пытаюсь сделать здесь, избегая включения ненужных заголовочных файлов вФайл CameraController.h
ПОПЫТКА К ИСПРАВЛЕНИЮ
Я попытался переопределить, как отмечено в «дубликате», в котором говорилось об объявлении классов в пространствах имен:
namespace Ogre
{
class SceneManager;
class SceneNode;
class Camera;
class Viewport;
class Real;
}
class CameraController
{
private:
Ogre::Real getAspectRatio();
private:
Ogre::SceneNode* camNode;
Ogre::Camera* camera;
Ogre::Viewport* viewPort;
Ogre::SceneManager* scnMgr;
};
РЕДАКТИРОВАТЬ
Итак, у меня сейчас ошибка в том, что классы, которые я пересылаю в пространстве имен Ogre, переопределяются заголовками, которые я включаю в файл .cpp