Salut à tous
j'ai un petit souci, qui me parait etre du à la manière dont j'ai déclaré une variable globale qui doit etre accessible dans tout le code source :
J'obtiens contre toute attente la sortie suivante :
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
29 entete.h #include "uneclasse.h" extern uneClasse instance_globale; uneclasse.h: class uneClasse { public: uneClasse(); char* chaine_membre; }; uneclasse.cc #include "uneclasse.h" #include "entete.h" uneClasse instance_globale; uneClasse::uneClasse() { ... cout << "local : " << chaine_membre << endl; } fichier_quelconque.cc #include "entete.h" void fonction () { cout << "global : " << instance_globale.chaine_membre << endl; }
La chaine locale est celle à laquelle je m'attendais mais je ne comprend pas d'ou sors la chaine globale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 local : /usr/lib/ladspa global : ale/fr/LC_CTYPE
Quelqu'un à une idée ?
Edit : j'ai remplacé la chaine de style c avec une std::string et maintenant ça marche. j'ai pas compris mais tant pis
Rémi
Partager