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 :
Générer des nombres aléatoires efficacement avec rand() VoirGénérer des nombres aléatoires efficacement avec rand() Vous avez peut-être remarqué qu'en C, en utilisant la fonction rand() de la bibliothèque standard, vous obtenez des résultats décevants, trop souvent les mêmes. Prenons un exemple, vous...
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...
Référencement d’une plage de cellules VoirPLAGE DE CELLULES CONTIGUËS Une plage de cellules se note en indiquant les références de la cellule de début et de fin, séparées par le caractère : (deux-points) : Reference_Cellule_Debut:Reference_Cellule_Fin La référence à une ligne ou à une...
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...

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
Collection CommentÇaMarche.net