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

Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006
- - Dernière réponse : cs_Cascador
Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006
- 14 août 2006 à 10:54
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
987
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
30 août 2012
11
3
Merci
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);

}


++

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_laurent1024
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
2
3
Merci
#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);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de steve_clamage
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
3
Merci
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

_____________________________________

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 127 internautes nous ont dit merci ce mois-ci

Commenter la réponse de vecchio56
Messages postés
3
Date d'inscription
vendredi 19 mai 2006
Statut
Membre
Dernière intervention
14 août 2006
0
Merci
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
Commenter la réponse de cs_Cascador