Comment perdre une variable...

Signaler
Messages postés
25
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
15 juillet 2003
-
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
-
J'ai toujours des problemes de variables baladeuses:
j'affecte des valeurs à des variables et ces valeurs changent sans que je fasse aucune affectation ensuite!
au milieu de boucles for notamment...
est ce que quelqu'un aurait une explication rationnelle à ce phénomène?

7 réponses

Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
Dans ce genre de situation, c'est la faute souvent du programmeur !
Donc il nous faut ton code !

:-p :sleepy) :shy) :sleepy) :-p
Messages postés
25
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
15 juillet 2003

moi je veux bien mais il commence a etre consequent le code! ya plusieurs fichiers de centaines de lignes...
mais si t'insistes...
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
Le bout de code qio ne vas pas !

et tu sais 100 lignes pour un programme ... c'est pas specialement beaucoup, tout depend ce qu'il y a !

:-p :sleepy) :shy) :sleepy) :-p
Messages postés
25
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
15 juillet 2003

float Voie::parcourir_accel(int n) //Renvoi de l'accélération correspondant à la n-ième valeur
{
static Iterateur iter(accel);
static Val* v=NULL;
static Val* la_bonne=NULL;
static bool ok=false;
static int compt=0;
iter.debut();

while(iter.nonfini()!=0)
{
v=(Val*)iter.suivant();
if (compt==n)
{
ok=true;
la_bonne=v;
break;
}
compt++;
}

if (ok)
return la_bonne->lire_accel();
else
return NULL;
}

dans le while, les valeurs contenues dans v sont n'importe quoi à partir de la 5 ou 6eme alors qu'elles etaient bonnes a l'affectation avec un while pareil, ca c sûr. et je n'y touche pas entre-temps
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
C'est quoi Val* ?????

C'est quoi lire_accel() !!??

Tu l'appelles combien de fois cette fonction ?

:-p :sleepy) :shy) :sleepy) :-p
Messages postés
25
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
15 juillet 2003

class Val:public Objet
{
private:
float temps;
float acceler;
public:
Val(float, float);
~Val();
void modif(float, float);
void lire();
float lire_tps();
float lire_accel();
};

float lire_accel()
{
return acceler;
}

et en fait g une liste chaînée de Val faite maison. Mais je crois qu'il y en a de codée dans la librairie standard non? ca serait p-e plus efficace...

je l'appelle 3000 fois au total mais ca peut etre plus
Messages postés
1138
Date d'inscription
mardi 10 juin 2003
Statut
Membre
Dernière intervention
25 janvier 2009
4
Je ne comprend pas :
a chaque iteration tu fais "v=(Val*)iter.suivant();"
Donc c'est surement iter.suivant() qui bug ! non ?

Tu n'as qu'a faire du pas-a-pas ! et oui le debbuger c'est genial !

:-p :sleepy) :shy) :sleepy) :-p