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 :

struct et new


Sujet :

C++

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut struct et new
    Bonsoir a tous,
    voila en fait, j'ai un problème dans mon appli c++. En fait je déclare une structure puis après j'essai d'initialisé une variable avec l'opérateur new, mais j'ai une erreur a l'execution, je ne comprend pas pourquoi. Peut etre pourrais vous m'éclairer.
    Voici mon code:

    Voici les définitions des structures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    enum MetaType { VAR };
     
    typedef struct EntiteNomme
    {
    	char *nom;
    	char *entite;
    	MetaType mt;
    	char *type;
    	int adresse;
    };
     
    typedef struct ListeEntite
    {
    	EntiteNomme val;
    	ListeEntite *suiv;
    };
     
    typedef struct Liste
    {
    	ListeEntite *liste;
    	Liste *suiv;
    };
     
    ...
     
    Liste *l;
     
    ...
     
    l = new Liste; // => Erreur ici ("Bus Error");
    voila, le code est pourtant simple, je ne comprend pas pourquoi ca plante.
    En esperant que vous pourrez m'aider.
    Merci par avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut
    bon pour info, j'ai résolu mon probleme, en passant par la STL. mon code devient beaucoup moins lourd et de meilleur qualité!
    par contre j'aimerais bien comprendre pourquoi le code précédent buggué!

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Tes pointeurs ne sont pas initialisés.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut
    tu pourrais développé stp,
    parce que il faut bien que je fasse un "new Liste" avant de pouvoir initialisé les pointeurs de la structure non?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Liste *monPointeur = NULL;
    Un truc comme ça par exemple.

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2005
    Messages
    513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 513
    Par défaut
    oui mais faire un:
    pour faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monPointeur = new Liste;
    juste apres ne sert pas a grand chose

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Par défaut
    Je sais pas excatement mais on m'as appris à toujours initialiser mes pointeurs par NULL, c'est très important. Enfin je peux pas t'en dire plus.
    Enfin dans le code que tu as donné, ta variable c'est bien new liste?
    Un espace dans une variable ça le fait pas, pis new est un mot réservé en cpp (allocation dynamique).

  8. #8
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    T'as jamais entendu parler des constructeurs ?

  9. #9
    Membre expérimenté
    Avatar de David Fleury
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 253
    Par défaut
    et des std::string ?

  10. #10
    Membre chevronné Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Par défaut
    Regarde plutot la definition d'une struct. Et a quoi sert le mot typedef.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct MyStruct
    {
        int a;
        char b;
    };
    Utilisation de typedef:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef MyStruct Redefinition;
    Redefinition *p = new MyStruct;
    p->a = 10;
    delete p;

Discussions similaires

  1. Database new user & create table
    Par MFDev dans le forum InterBase
    Réponses: 3
    Dernier message: 30/09/2003, 20h47
  2. Unrecognized option -fnative-struct
    Par copyallright dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 01/05/2003, 12h25
  3. Bug new build ??
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 31/01/2003, 10h30
  4. [] Insérer DE et Datareport existant ds new projet
    Par khany dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/01/2003, 09h52
  5. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25

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