Rechercher : dans
Par :

[C++] Probleme de pointeur ou reference!!

Dernière réponse le 6 jun 2007 à 09:38:32 chreks, le 5 jun 2007 à 20:58:31 
 Signaler ce message aux modérateurs

Merci de bien vouloir m'aidez
j'ai un problème ke je narrive pa a comprendre en C++,puisque je suis un débutant.

explication :

j'ai une fonction de cette forme :

int CoutFixe(indexed_sparse_matrix_t<int> & matrix,int  prof,unsigned i,int f,int *tau,int * tau2)


avec deux pointeurs sur tableau en argument.
le tableau tau2 est initialisé a 0 dans le main.
en fait les valeurs du tableau tau2 son modifiés dans cette fonction et j'aimerais les garder pour pas avoir a les refaire et donc de gagner du temps.

 int s;
   s=matrix.get(i,3*(prof-1)+tau[prof-1]%10)+tau2[prof-2];
  tau2[prof-2]=s;
   return s;


sauf que lorsque je sors de cette fonction la valeur de tau2 que j'ai stoké juste avan revien a 0!!!
et je n'arrive pas à comprendre, surtout que je comprend pas bien les truc de pointeurs réferences et touc ca!

merci de bien vouloir maider SVP
Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « [C++] Probleme de pointeur ou reference!! » dans :
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
Les bases pour référencer votre site professionnel facilement VoirLes bases pour référencer son site professionnel facilement Avoir un site Internet c'est bien mais faire en sorte qu'il attire un grand nombre de visiteurs c'est indispensable ! En effet, le Web abrite une quantité colossale de contenus et sortir...
Les pointeurs en langage C VoirDéfinition d'un pointeur Un pointeur est une variable contenant l'adresse d'une autre variable d'un type donné. La notion de pointeur fait souvent peur car il s'agit d'une technique de programmation très puissante, permettant de définir des...
Les objets en langage C++ VoirLa création d'objets En C++, il existe deux façons de créer des objets, c'est-à-dire d'instancier une classe : de façon statique de façon dynamique La création statique La création statique d'objets consiste à créer un objet en lui affectant un...
Référencement VoirQu'est-ce que le référencement ? On désigne habituellement par le terme « référencement » (en anglais web positionning) l'ensemble des techniques permettant d'améliorer la visibilité d'un site web : indexation (en anglais submission) consistant à...

1

 mamiemando, le 6 jun 2007 à 09:38:32

En C/C++ les valeurs passées en paramètres sont des recopies. Quand tu veux modifier un paramètre il faut
- soit utiliser une référénce (qui informatiquement parlant se comporte comme un pointeur initialisé)
- soit utiliser un pointeur : on recopie une adresse mais pas ce qui s'y trouve

Ainsi

void inc1(int i){++i;} // !ok (i n'est incrémenté que dans cette fonction)
void inc2(int & i){++i;} //ok
void inc3(int * i){++(*i);} //ok

Dans ton cas les valeurs pointées par tau2 donc normalement ça devrait être bon. Peux tu nous donner un extrait de code minimum (et compilable) mettant en évidence le problème ?

Bonne chance

Répondre à mamiemando