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 :

Structure non initialisée


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut Structure non initialisée
    Bonjour à tous!
    Parfois on est obligé d'utiliser du code C dans du C++, et c'est souvent la m...

    Bref, j'ai ce code C dans un .h définissant des structures, dont celle-ci:
    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
     
    typedef struct S_Entree
    {
    	union union_def
    	{
    		short		sval;
    		Longint		lval;
    		float		fval;
    		Double		dval;
    		char		cval[TAILLE_VALEUR_ENTREE];
    #ifdef __alpha
    		unsigned int	ulval;
    #else
    		unsigned long	ulval;
    #endif
    		unsigned short	usval;
    	}  union_var;
    	S_Entree	*ps_suivant;
    }
    	*pS_Entree;
    La main.cpp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    pS_Entree psentree;
     
    psentree->union_var.lval = 36181;  // Plante ici
    psentree->ps_suivant = NULL;
    Voici l'erreur à l'exécution par Visual:
    Citation Envoyé par Visual 2005
    Run-Time Check Failure #3 - The variable 'psentree' is being used without being defined.
    Où est le problème? Pourquoi n'ai-je pas le droit d'écrire une valeur dans psentree???
    Devrais-je tout recoder façon C++ ?

    Merci de votre aide!

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    T'as juste oublié de faire pointer ton pointeur vers une instance valide.

  3. #3
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut

    Quel noob je suis....
    J'ai été perturbé par l'union...

    Merci Laurent de m'avoir remis dans le droit chemin!

  4. #4
    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
    Un typedef sur un pointeur c'est vraiment le genre de chose à éviter si tu veux mon avis.

  5. #5
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Je me doute bien, mais le code c'est pas de moi, c'est du C...
    Je ne fais qu'encapsuler un ancien code C dans une nouvelle architecture C++.

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

Discussions similaires

  1. Constantes et autre Structures non reconnue [API Windows]
    Par LeFoUvErT dans le forum Dev-C++
    Réponses: 3
    Dernier message: 15/09/2007, 11h48
  2. erreurs de variables non initialisées
    Par setsuko974 dans le forum Langage
    Réponses: 4
    Dernier message: 15/02/2007, 09h26
  3. applet non initialise
    Par rimbaut dans le forum Applets
    Réponses: 2
    Dernier message: 18/08/2006, 11h14
  4. [Débutant]Structure Tableau, initialisation
    Par faulk dans le forum C++
    Réponses: 14
    Dernier message: 09/06/2006, 15h45
  5. Erreur en utilisation non-initialiser motif
    Par moniphal dans le forum Langage
    Réponses: 2
    Dernier message: 30/09/2005, 13h03

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