Passer un tableau dynamique en paramètre d'une fonction [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006
-
cs_Cascador
Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006
-
Bonjour,


Je développe un programme en dev C++. J'ai créer un tableau dynamique, et j'ai besoin de le passer en paramètre, mais il n'y a rien à faire. Techniquement quand on fait :

    scenario *debutS = new scenario[Nbr];

*debutS est le pointeur du début du tableau

mais si je veux  le passer en paramètre j'appelle la fonction :

   fonction(debutS);

et c'est dans la réception que je ne vois pas comment faire :

   int fonction(scenario *ptr){

//comment accéder aux données du tableau dynamique
//et en modifier certaines ?


   }

Dans les variables globales, "scenario" est déclaré comme suit :

class scenario{
      public:
       float Pu;
       bool Instant;
       float In[H_MAX];
       float PHIn[H_MAX];
};

Voilà voilà, est-ce que quelqu'un qui passerait dans le coin aurait une solution.
D'avance merci.

Jérôme

4 réponses

Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
14
fonction modifcation(senario * tab, int taille)

{

 /*   verifier que tab pas nul

et apres acces au tableau*/

acces au element comme dans fonction principale car on bosse avec les pointeurs

}


main (...)

{

...

    scenario *debutS = new scenario[Nbr];

    modification(debutS, Nbr);

}


++
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
2
#include <vector>


int fonction(std::vector<scenario> & tableau_scenarios)

{

/* A manipuler comme un tableau, peut etre modifier sinon passer en const. */

 }


std::vector<scenario> tableau_scenarios(Nbr);
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
steve_clamage tu réponds pas un peu a coté?

 int fonction(scenario *ptr)
{
  ptr[0].Pu = 1.0;
  bool = ptr[1].Instant;
}

Mais comme l'a dit laurent1024, il est préférable de passer aussi la taille en argument, car aucun moyen de la retrouver sinon

_____________________________________
Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006

Ok, merci les gars, je peux passer le pointeur en paramètre, et ça a l'air de fonctionner. Je me suis fait piègé par dev C++ qui ne reconnait pas automatiquement (avec le menu déroulant) la structure "scenario", alors je me suis dit que ça ne marcherai pas, mais finalement ça compile.

Merci encore