declaration et definition de variable globale
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 :
Code:
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;
} |
J'obtiens contre toute attente la sortie suivante :
Code:
1 2
| local : /usr/lib/ladspa
global : ale/fr/LC_CTYPE |
La chaine locale est celle à laquelle je m'attendais mais je ne comprend pas d'ou sors la chaine globale.
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