Comment faire pr q'1 variabl d'1 fonction soit utilisable ailleur?

Comment faire pr q'1 variabl d'1 fonction soit utilisable ailleur? - C++ - Programmation

Marsh Posté le 30-04-2003 à 00:02:12    

En fait, je voudrais pouvoir changer la valeur d'une variable qui est utilisée dans une fonction; ex:
 
 
int mafonction(int *argument)
{int ma_var;
  if (ma_var==1)
   code..
}
 
 
void maclasse::onButtonX
{
ma_var=2;
mafonction();
}    
 
//Ce qui est écrit ici est debile mais c'est pour le principe
 
Le probleme est que j'ai essayé de déclarer cette variable en variable globale mais rien n'y fait;
Si je la declare en pointeur dans ma fonction, ça ne va pas non plus;
 

Reply

Marsh Posté le 30-04-2003 à 00:02:12   

Reply

Marsh Posté le 30-04-2003 à 00:19:45    

sbbtn a écrit :

En fait, je voudrais pouvoir changer la valeur d'une variable qui est utilisée dans une fonction; ex:
 
 
int mafonction(int *argument)
{int ma_var;
  if (ma_var==1)
   code..
}


 
quand tu fais ca, du déclares une variable locale à ta fonction qui va masquer la variable ma_var qui est définie en dehors de ta fonction.
 
donc il faut déclarer ta variable comme une variable membre de ta classe et changer ton code en :

Code :
  1. int mafonction(int *argument)
  2. {
  3. if (ma_var==1)
  4.   code..
  5. }


Message édité par SquiZZ le 30-04-2003 à 00:20:08
Reply

Marsh Posté le 30-04-2003 à 01:19:53    


 
 
 
En fait je ne me suis pas bien exprimé;
Le fait de mettre un int ici etait pour l'exemple, dans la realité, j'ai declaré cette variable en variable public (enfin je crois) de ma classe, mais etant donné que mafonction ne fait pas parti directement de cette classe, ca ne marche pas
 
 
Le fait de pouvoir faire ce que j'ai demeandé plus haut serait d'une part, comme cité au dessus, et d'autre part de pouvoir utilisé la valeur d'un slider (curseur horizontale) comme parametre dans ma fonction; devrais je alors passer en paramètre d'entrée la valeur de ce slider???
 :heink:  
BONNE NUIT!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed