Bonjour,
Je cherche a créer une classe singleton.
J'ai suivi le tuto mais je rencontre une erreur:
Voici le .h
et le .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 class Ressources_Manager { public: static Ressources_Manager& Instance(); private: Ressources_Manager& operator= (const Ressources_Manager&){} Ressources_Manager (const Ressources_Manager&){} static Ressources_Manager& m_instance; Ressources_Manager(); virtual ~Ressources_Manager(); sf::Texture H_Sp_Prairie; sf::Image Img_H_Prairie; void Load_Textures(); void Load_Images(); };
et l'erreur affichée est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Ressources_Manager Ressources_Manager::m_instance=Ressources_Manager(); Ressources_Manager::Ressources_Manager() { Load_Images(); Load_Textures(); } Ressources_Manager::~Ressources_Manager() { } Ressources_Manager& Ressources_Manager::Instance() { return m_instance; } void Ressources_Manager::Load_Images() { Img_H_Prairie.loadFromFile("Image/HexaTestSize.bmp"); Img_H_Prairie.createMaskFromColor(sf::Color(255,255,255)); } void Ressources_Manager::Load_Textures() { H_Sp_Prairie.loadFromImage(Img_H_Prairie); }
In file included from ..\RessourcesManager.cpp:8:0:
..\RessourcesManager.h: In member function 'itpro::res::Ressources_Manager& itpro::res::Ressources_Manager::operator=(const itpro::res::Ressources_Manager&)':
..\RessourcesManager.h:23:60: warning: no return statement in function returning non-void [-Wreturn-type]
..\RessourcesManager.cpp: At global scope:
..\RessourcesManager.cpp:13:41: error: conflicting declaration 'itpro::res::Ressources_Manager itpro::res::Ressources_Manager::m_instance'
In file included from ..\RessourcesManager.cpp:8:0:
..\RessourcesManager.h:26:30: error: 'itpro::res::Ressources_Manager::m_instance' has a previous declaration as 'itpro::res::Ressources_Manager& itpro::res::Ressources_Manager::m_instance'
..\RessourcesManager.cpp:13:41: error: declaration of 'itpro::res::Ressources_Manager& itpro::res::Ressources_Manager::m_instance' outside of class is not definition [-fpermissive]
..\RessourcesManager.cpp:13:71: error: invalid initialization of non-const reference of type 'itpro::res::Ressources_Manager&' from an rvalue of type 'itpro::res::Ressources_Manager'
Une idée?
Merci
Partager