Variable global

chiro2000 Messages postés 19 Date d'inscription mercredi 31 octobre 2007 Statut Membre Dernière intervention 3 octobre 2011 - 12 août 2010 à 14:00
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 12 août 2010 à 17:17
Bonjour
voici mon probleme
je dispose de trois fichier
dessin.cpp
param.cpp
global.h
j ai une variable global:double temp_x, qui instanciée dans global.h

dans param.cpp
je set la variable temp_x dans le fichier param.cpp
donc temp = 10;

dans dessin.cpp
j veux recuperer la valeur de temp_x qui vaut normalement 10, que c une variable globale.
Incomprehension????
lorsque je recupere la valeur de temp_x dans "void dessin(){}" elle est toujours egal a 10; mais si jamais j essaye de recupere la valeur temp_x en dehors d'une fonction, la valeur de temp_x est 0.
quelqu un aurai t il une explication a cette valeur qui est s annule si c est pas en ddehors de la fonction


en clair

dans param.cpp
#include global.h

void param()
{
temp_x = 10;
}

//fin de param.cpp

dessin.cpp

#include global.h

printf("valeur de temp_x %d", temp_x); affiche 0

void dessin()
{
printf("valeur de temp_x %d", temp_x); affiche 10
}
//fin de dessin.cpp
A voir également:

1 réponse

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
12 août 2010 à 17:17
1) Les variables globales sont à proscrire. Si tu en as dans ton code, il y a 99,99% de chance que tu soit en train d'écrire un code dégueulasse. Il n'y a aucune raison d'en utiliser.
3) Vu l'usage que tu en fait, j'ai l'impression que tu cherches à avoir des constantes. Dans ce cas l'usage d'un "static const double temp_x = 10;" est largement mieux.

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
0
Rejoignez-nous