Hello,
J'ai un petit problème avec un booléen récalcitrant.
Voici la classe en question :
Et le code des constructeurs dans le fichier "inline".
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 template <typename T> class GraphicObject : public System::Linkable<T> { public : GraphicObject( void ); GraphicObject( Layer<T> & ); ~GraphicObject( void ); // ----------- inline bool IsVisible( void ) const { return my_visibility; } // ----------- void Hide( bool = true ); void Show( bool = true ); void SetLayer( Layer<T> &, bool show = true ); // ----------- private : Layer<T> * my_layer; bool my_visibility; };
Quoi qu'il arrive le booléen "my_visibility" est toujours égal à true.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 template <typename T> GraphicObject<T>::GraphicObject( void ) : System::Linkable<T>(), my_layer(0), my_visibility(false) { } template <typename T> GraphicObject<T>::GraphicObject( Layer<T> &layer ) : System::Linkable<T>(), my_layer(&layer), my_visibility(true) { my_layer->push_back( this ); }
J'ai même essayé de le définir en dehors de la liste d'initialisation, ça ne change rien.
Est-ce déjà arrivé à quelqu'un ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 template <typename T> GraphicObject<T>::GraphicObject( void ) : System::Linkable<T>(), my_layer(0) { my_visibility = false; // ça ne change rien }
J'utilise le compilateur Visual C++ 2008 (Express Edition).
Si quelqu'un a une idée, merci
Partager