Я пытаюсь создать структуру с использованием SDL 2.0 и O-OP.Singleton class, GraphicsManager и static
Здесь у меня есть CGraphicsManager класс:
namespace tde {
class CGraphicsManager : public Singleton<CGraphicsManager>
{
private:
static SDL_Window* mWindow;
static SDL_Renderer* mRenderer;
public:
~CGraphicsManager();
static Uint32 Init(const char* title, Vector2i& size, Uint32 flags);
static SDL_Window* getWindow(){ return mWindow; }
static SDL_Renderer* getRenderer() { return mRenderer; }
};
}
И когда я пытаюсь сделать так:
SDL_RenderClear(Graphics.getRenderer());
Компилятор говорит:
ошибка C2248: Singleton :: Singleton не может связаться с частным пользователем в Singleton < 'tde :: CGraphicsManager'>
Я попытался сделать статические элементы mWindow и mRenderer, но этот способ не работает. Помогите мне как-нибудь сохранить окно и рендеринга в этой системе, чтобы сделать их видимыми и доступными в tde namespace!
Где ваша декларация «Графика»? –
Или, более конкретно, вы можете показать нам, как вы объявляете «Графика»? –
"#define Graphics tde :: CGraphicsManager :: getInstance()" Он находится в "Root.h" в глобальном пространстве имен. определить работы, идеально подходящие для класса CRoot. Вот ссылка для завершения Root.h: https://www.dropbox.com/s/ox2hvhqwo28jhfd/Singleton_SDL_static__Root.h.txt –