IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

Tableau de pointeur d'objet déclaré statiquement.


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Points : 41
    Points
    41
    Par défaut Tableau de pointeur d'objet déclaré statiquement.
    Bonjour j'essaye de faire une class qui contient un tableau de pointeur vers des objets de son propre type.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      public:
        c_node() { };
        ~c_node() { };
        ...
      private:
        c_node*	next[26];
        bool	word[26];
    or quand j'essaye d'initailiser et utiliser next.
    ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.next[x] = new c_node;
    this.next[x]->methode...;
    g++ me répond : erreur: request for member ‘next’ in ‘this’, which is of non-class type ‘c_node* const’

    Suis-je obliger de passer par des tableaux dynamique?
    Que méprisez vous? par cela, on vous connaît vraiment. "Mua'Dib"

  2. #2
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Bonjour,

    this est un pointeur, donc on l'utilise comme ceci :
    Par ailleurs, à moins que tu n'aies à faire la distinction avec une autre variable qui s'appelle "next", le this est facultatif :
    Enfin, ils ne faut pas que tu aies peur des « tableaux dynamiques » en C++. En C, c'est galère, on doit jouer avec malloc et free, mais en C++ il y a les conteneurs de la STL, qui sont bien plus simples et agréables à utiliser que les tableaux eux-mêmes (même s'ils ne sont pas dynamiques). À tel point que tu seras davantage amené à dire « Pff, je suis vraiment obligé d'utiliser un tableau à la C, ici ? »
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Points : 41
    Points
    41
    Par défaut
    effectivement c'était ça! merci
    J'ai un autre problème mon programme segfault au démarrage.
    Il semble que le constructeur de la class tente d'instancier tout les pointeur du tableau.

    Voici mon constructeur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for (int i = 0; i < NB_NODE; i++) 
    {
     word[i] = -1;
     next[i] = NULL
    } 
    cout << "instancié ";
    Je me retrouve avec des milliers de instancié et segfault. Même erreur si j'enlève la ligne contenant next[i]
    Que méprisez vous? par cela, on vous connaît vraiment. "Mua'Dib"

  4. #4
    Membre éclairé
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Points : 858
    Points
    858
    Par défaut
    Mmh, je vois pas très bien… tu peux faire un code minimal qui reproduit l'erreur de segmentation ?
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 57
    Points : 41
    Points
    41
    Par défaut
    j'ai trouvé mon erreur merci pour ton aide.
    Que méprisez vous? par cela, on vous connaît vraiment. "Mua'Dib"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tableau de pointeurs vers des objets
    Par rdtech dans le forum Débuter
    Réponses: 2
    Dernier message: 17/02/2013, 19h30
  2. Réponses: 7
    Dernier message: 30/10/2010, 21h06
  3. Passage de tableau de pointeurs vers objets
    Par gnulix dans le forum C++
    Réponses: 5
    Dernier message: 14/04/2007, 19h41
  4. Réponses: 4
    Dernier message: 04/02/2007, 00h06
  5. Tableau de pointeurs sur objets
    Par bassim dans le forum C++
    Réponses: 11
    Dernier message: 13/12/2005, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo