Tableau de pointeurs C++

Fermé
clyro - 1 févr. 2010 à 00:41
 clyro - 1 févr. 2010 à 09:05
Bonjour,
c'est la premiere fois que j'utilise un tableau de pointeurs et j'ai quelques soucis
voilà mon code.
printcar=(node**)malloc(sizeof(node*)*roadlength*nbtrack);  //le pb est le mm en utilisant new

//[...] j'initialise tout à 0x0
 
void motorway::show()
{
  int i,j;
  node*cur;
  for(j=(nbtrack-1);j>=0;j--)
    {
      for(i=j*roadlength;i<roadlength+j*roadlength;i++)
    {
      cur=(node*)printcar[i];
      printf("%d ",cur->get_car()->get_state());        //erreur est ici mais pourquoi??
    }
      printf("\n");
    }
  printf("\n");
}

A la compil j'ai une erreur de segmentation
visiblement je ne peux pas appliquer mes méthodes aux pointeurs de mon tableau, alors que hors du contexte d'un tableau
nn=new node(a,b); 
nn->get_car()->get_state();

ça marche

2 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
1 févr. 2010 à 08:39
comment initialises tu printcar ??
si tout est à 0x0, c'est normal d'avoir une erreur.
0
exact, ça m'apprendra à travailler tard le soir
merci
en fait j'initialise seulement qq case avec des node* donc ça pouvait pas marcher
0