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

Boost C++ Discussion :

question sur boost::variant


Sujet :

Boost C++

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 116
    Points : 95
    Points
    95
    Par défaut question sur boost::variant
    Petite question sur la librairie boost


    alors j'ai une classe template<class T> attribut<T>{};

    j'ai regardé apres avoir été renseigné : donc variant permet de stocker des données déjà définie ;
    voila ma question est-il possible de faire un :
    map<string,boost::variant<attribut<date>,attribut<int>,attribut<string>,attribut<float> >

    merci car la je désespere a faire un tableau de differents type

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 116
    Points : 95
    Points
    95
    Par défaut
    Quelqu'un pour me répondre svp :
    et j'aimerais savoir comment on peut faire pour installer boost :: variant avec codeblock car a ce que j'ai compris il n'a pas besoin d'être compilé.
    donc comment l'implémenter dans mon projet sachant que je devrais remettre mes sources.

  3. #3
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    voila ma question est-il possible de faire un :
    map<string,boost::variant<attribut<date>,attribut<int>,attribut<string>,attribut<float> >
    Je n'ai jamais utilisé boost::variant, mais je ne vois pas ce qui empêcherait de faire ça.

    j'aimerais savoir comment on peut faire pour installer boost :: variant avec codeblock car a ce que j'ai compris il n'a pas besoin d'être compilé
    Dans ce cas il suffit de télécharger les en-têtes.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 116
    Points : 95
    Points
    95
    Par défaut
    merci , car en fait j'ai voulu faire une classe virtuelle pour pouvoir stocker des données differentes mais je me suis heurter à un probleme car lorsque je voulais faire une addition de 2 objets base ben mon code ne marché pas :


    exemple :
    class BASE {
    virtual BASE & addition(BASE &)=0;
    }



    class INT : public BASE{

    int value;

    public :

    BASE & addition(BASE &){ // la je voulais faire l'addition des 2 value contenues dans les classe INT;

    }

    main{

    BASE * e=new INT(13);
    BASE * f=new INT(13);
    BASE * g=new INT();
    g=f->addition(e);
    }

    et impossible de trouver comment pouvoir additionner les 2 dans la class INT

  5. #5
    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
    Points : 4 625
    Points
    4 625
    Par défaut
    lorsque je voulais faire une addition de 2 objets base ben mon code ne marché pas :
    Ton code semble pourtant parfaitement marcher.
    Bien sûr, si tu souhaites accéder à value, il faut d'abord faire un dynamic_cast sur ton argument.

  6. #6
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Tu as essayé avec Visual C++ 2005 ? Je me souviens que du code utilisant boost::variant censé marché parfaitement ne compilait pas sous CodeBlocks...

Discussions similaires

  1. Réponses: 0
    Dernier message: 18/08/2011, 13h19
  2. Réponses: 3
    Dernier message: 15/11/2010, 15h21
  3. Réponses: 6
    Dernier message: 01/08/2009, 19h23
  4. Boost.threads : questions sur le TimedLockable Concept
    Par raphael_kindt dans le forum Boost
    Réponses: 4
    Dernier message: 22/08/2008, 13h02
  5. Réponses: 8
    Dernier message: 25/03/2008, 22h59

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