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 :

tester si une valeur appartient à un type enumeratif ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    oui est ce que je doit ajouter des includes ??

  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
    Non. Le code que j'ai donné compile tel quel.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    et pourtant ca ne compile pas :

  4. #4
    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
    Quel est ton compilo ? Tu es sûr d'avoir bien copié / collé ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    oui,microsoft visual studio .Net 2003

  6. #6
    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
    Code complet compilant sous VS.NET 2003

    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
    32
    33
    34
    35
    36
    37
    #include <iostream>
    using namespace std;
     
    #define ENUM_BODY(name, value) \
        name = value,
     
    #define ENUM_CASE(name, value) \
        case name : return true;
     
    #define DEFINE_ENUM(name, values) \
        enum name { \
            values(ENUM_BODY) \
        }; \
        inline bool value_in_##name(int x) \
        { \
            switch (x) { \
                values(ENUM_CASE) \
                default : return false; \
            } \
        }
     
    #define VALUES(_) \
        _(a, 1) \
        _(b, 3) \
        _(c, 5) \
        _(d, 24)
     
    DEFINE_ENUM(MyEnum, VALUES)
     
    int main()
    {
        cout << "1 : " << boolalpha << value_in_MyEnum(1) << endl;
        cout << "2 : " << boolalpha << value_in_MyEnum(2) << endl;
        cout << "5 : " << boolalpha << value_in_MyEnum(5) << endl;
     
        return 0;
    }
    Mais bon, es-tu bien sûr de vouloir utiliser ce genre de bidouille ?

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 104
    Par défaut
    bon merci en tout cas mais ca compile pas
    c'est pas la peine que je fais ca
    by

  8. #8
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Faire des passages entier -> enum n'est pas toujours très utile (/ nécessaire).

    Tu n'as toujours pas répondu à ma question (pas forcément claire il est vrai). Quel est le problème que tu veux résoudre ? (Problème que tu penses pouvoir traiter avec des enums). Je ne cherche pas à savoir ce que tu veux faire avec des enums, mais ce que tu veux faire ... d'un point de vu plus haut niveau si je puis dire.

    (Pour les macros ... je préfère encore jouer avec Perl et make ; on doit pouvoir s'en sortir pour générer plus de choses à commencer par les tables pour les conversions enum <-> texte)
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/06/2010, 18h46
  2. Comment tester si une valeur de type entier est nulle ?
    Par kikidrome dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/07/2009, 00h53
  3. comment tester si une variable est de type indifined
    Par amelhog dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/08/2005, 09h32
  4. Tester qu'une valeur existe dans une "liste"
    Par Oluha dans le forum Langage
    Réponses: 12
    Dernier message: 04/08/2005, 23h01
  5. Affecter une valeur à un input type text
    Par mr.t dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/06/2005, 15h18

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