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 :

typedef + enum


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Par défaut typedef + enum
    Bonjour,

    dans la structure panneauBois je souhaite que la variable essence ait 3 valeurs possible de type int (0,1,ou 2), voici le code qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct panneauBois{
    	float largeur, longueur, epaisseur;
    	enum int {0,1,2} essence;
    } panneauBois;
    Pourriez-vous svp m'indiquer la bonne syntaxe pour la ligne enum ?

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 186
    Par défaut
    Bonsoir,

    Une enum est forcément un entier dont la valeur s'incrémente de 1 automatiquement pour chaque élément composant l'énum.

    un exemple de déclaration possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    typedef struct
    panneauBois{
    	float largeur, longueur, epaisseur;
    	enum {VAL_0 = 0,VAL_1, VAL_2} essence;
    } panneauBois;
    voir FAQ : combiner plusieurs options dans un paramètre

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Par défaut
    ok merci il fallait juste virer le type

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 461
    Par défaut
    Citation Envoyé par Joe_Dupont Voir le message
    ok merci il fallait juste virer le type
    J'ajoute que l'intérêt de l'enum est surtout de pouvoir définir des symboles littéraux pour décrire tes différentes essences et ce, en principe, sans se soucier de leur valeur, sauf si c'est important. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        enum { sapin=1, bouleau, hetre, chene } essence;
    En outre, comme pour les structures, tu peux nommer ton énumération pour éviter d'avoir à redefinir son contenu à chaque fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        enum Essences { sapin=1, bouleau, hetre, chene } essence_murs;
        enum Essences essence_plafond;
        enum Essences essence_finitions;

Discussions similaires

  1. typedef et enum
    Par d'Oursse dans le forum C++
    Réponses: 4
    Dernier message: 02/09/2011, 10h35
  2. TypeDef enum syntaxe.
    Par Noun-S dans le forum Langage
    Réponses: 0
    Dernier message: 12/05/2011, 11h40
  3. #define VS typedef enum
    Par Bktero dans le forum Débuter
    Réponses: 9
    Dernier message: 11/06/2010, 09h13
  4. Macros et typedef enum {MUR=0x1,etc. HELP !
    Par qwerty999 dans le forum C++
    Réponses: 2
    Dernier message: 07/06/2006, 22h44
  5. [Debutant - 1er jour de C] Typedef enum
    Par kakou dans le forum C
    Réponses: 3
    Dernier message: 28/02/2006, 23h53

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