probleme fonctions c++ -- passage de paramètres
bonjour à tous ,
voila donc mon pb:
je travaille sur deux tableau de pointeur sur une structure ;voici le type (table) :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
typedef struct noeud
{
int num,poids;
struct noeud *suiv;
};
typedef noeud *table;
//déclaration du tableau :
table Pred[N]; |
quand je modifie les deux tableaux dans le prog principale (main) ça marche impec, mais dés que je passe ces deux tableaux dans une fonction pour effectuer quelque opérations de modification , rien ne se passe,
voici le prototype de la fonction :
Code:
void Predecesseur(table Succ[],table Pred[])
nouvelle proposistion pour nouvelle demande d'aide
>up!
>up!
>
pour remettre les compteurs à zéro voici les déclarations, et ce qu'il s'en suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
//les typedef :
typedef struct noeud
{
int num,poids;
struct noeud *suiv;
}noeud;
typedef noeud *table;
//déclaration des deux tableau :
std::vector <table> Succ(NbrNoeuds+1);
std::vector <table> Pred(NbrNoeuds+1);
//la fonction :
void Predecesseur(std::vecto<table> Succ,std::vector<table>& Pred);
{
// tjr la même chose à l'interieur ...
}
//l'appel de la fonction :
Predecesseur(Succ,Pred); |
la compilation se fait sans problèmes , mais tjr est-il, pas de changements ,la preuve en essayant d'afficher Pred :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
//affichaqge des prédécesseurs :
for (l=1;l<=NbrNoeuds;l++)
{
p=Pred[l];
if (p!=NULL)
{
cout<<"predecesseur de "<<l<<" :->";
while (p!=NULL)
{
cout<<"|"<<p->num<<"|"<<p->poids<<"| ";
p=p->suiv;
}cout<<endl;
}
} |
il faut savoir biensur qu'en me passant de cette fonction et qu'en mettant exactement le contenue de la fonction dans main , cela marche, et la preuve est l'affichage correct du tableau Pred