Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1224 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] liste chainée de struct avec la STL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] liste chainée de struct avec la STL

n°603229
Yonel
Monde de merde !
Posté le 05-01-2004 à 20:49:59  profilanswer
 

Bah voilà c'est un truc plutôt bidon. Au début je voulais simplement faire une liste chainée d'objets avec un struct, mais quand je fais le push_back ça ne fonctionne pas :cry: . Quelque chose ne va pas dans mon code mais quoi ? :(  
 

Code :
  1. typedef struct {
  2.     int numTache;
  3.     int duree;
  4. } Sommet;
  5. int main()
  6. {
  7.       int nbsommets;
  8.       int nbpred;
  9.       int i,j;
  10.       cout<<"Combien de sommets contient le graphe? ";
  11.       cin>>nbsommets;
  12.       std::list<Sommet> L[nbsommets];
  13.       for (i=0;i<nbsommets;++i) {
  14.           cout<<"Durée de la tâche n°"<<i<<" : ";
  15.           cin>>S->duree;
  16.           S->numTache=i;
  17.           L.push_back(*S); // c'est là que ça passe pas...
  18.       }
  19. }


 
Si vous voyez un truc qui cloche... merci d'avance !  :hello:

mood
Publicité
Posté le 05-01-2004 à 20:49:59  profilanswer
 

n°603232
Evadream -​jbd-
Posté le 05-01-2004 à 21:05:02  profilanswer
 

C'est quoi S ? :)

n°603233
Yonel
Monde de merde !
Posté le 05-01-2004 à 21:07:51  profilanswer
 


 
oups il manque juste une ligne mais ça vient pas de là puisqu'elle y est dans mon source.
 
Au milieu des déclarations j'ai déclaré un pointeur sur un sommet:
 
Sommet *S;

n°603235
Evadream -​jbd-
Posté le 05-01-2004 à 21:10:35  profilanswer
 

Tu alloues de la mémoire à chaque fois ?

n°603237
schnapsman​n
Zaford Beeblefect
Posté le 05-01-2004 à 21:13:05  profilanswer
 

cay normal le tableau de liste?
la non allocation du pointeur S [:autobot]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°603239
Yonel
Monde de merde !
Posté le 05-01-2004 à 21:13:16  profilanswer
 

Evadream -jbd- a écrit :

Tu alloues de la mémoire à chaque fois ?


 
hum oui j'ai mis un Sommet *S=new Sommet;

n°603240
Yonel
Monde de merde !
Posté le 05-01-2004 à 21:14:11  profilanswer
 

schnapsmann a écrit :

cay normal le tableau de liste?
la non allocation du pointeur S [:autobot]


 
le tableau de liste oui c'est fait exprès
 
La non allocation... euh bah c'est encore la *fameuse ligne* que j'avais oublié de noter sur le forum :whistle:

n°603242
Evadream -​jbd-
Posté le 05-01-2004 à 21:14:56  profilanswer
 

C'est un tableau de liste que tu as déclaré là.
 
Edit : grillé


Message édité par Evadream -jbd- le 05-01-2004 à 21:15:15
n°603243
schnapsman​n
Zaford Beeblefect
Posté le 05-01-2004 à 21:15:20  profilanswer
 

nan mais dis moi, ça compile pas ton truc là :o
 
L[0].push_back ...


Message édité par schnapsmann le 05-01-2004 à 21:15:50

---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°603245
Yonel
Monde de merde !
Posté le 05-01-2004 à 21:16:39  profilanswer
 

schnapsmann a écrit :

nan mais dis moi, ça compile pas ton truc là :o
 
L[0].push_back ...


 
aaaaaaaahhhhhhhhhh  [:rofl]  
 
mais shui vraiment trop une bouse !!!  :D  
 
Merci  :sol:

mood
Publicité
Posté le 05-01-2004 à 21:16:39  profilanswer
 

n°603249
schnapsman​n
Zaford Beeblefect
Posté le 05-01-2004 à 21:19:43  profilanswer
 

merci de ce foutage de gueule [:ojap]


---------------
From now on, you will speak only when spoken to, and the first and last words out of your filthy sewers will be "Sir!"
n°603284
Taz
bisounours-codeur
Posté le 05-01-2004 à 21:40:12  profilanswer
 

cin>>nbsommets;
     
          std::list<Sommet> L[nbsommets];
 
 
n'est pas du C++
 
     
std::vector< std::list<Sommet> > L(nbsommets);
 
est ok

n°603302
ffluff
Challenge Everything
Posté le 05-01-2004 à 21:55:15  profilanswer
 

ah bon si on veux un tableau d'objet en C++, on est obligé de passer par les vector ??

n°603305
Taz
bisounours-codeur
Posté le 05-01-2004 à 22:00:33  profilanswer
 

ben non, mais ou t'as vu que les vla existaient en C++ ? cette fonctionnalité du C99 ajustement était rejetée pour favoriser l'usage de std::vector<> qui est bien plus sur, robuste et fonctionnel

n°603400
gilou
Modérateur
Modzilla
Posté le 05-01-2004 à 23:15:05  profilanswer
 

Par vla, taz veux dire variable length array, je suppose.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] liste chainée de struct avec la STL

 

Sujets relatifs
imbrication de listeSessions / liste de connectés
[C] Passer une liste variable d'arguments en entrée/sortie[C++] implémentation d'une classe générique (liste chainée)
récupérer une liste de connexions réseau ?Existe-t-il une liste de tout les codes erreurs générés par MySQL?
liste chainée en c ?Griser 2 champs d'un formulaire par rapport au choix dans une liste :o
Plus de sujets relatifs à : [C++] liste chainée de struct avec la STL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR