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 :

constructeur pour structures "cachées dans des unions ?


Sujet :

C++

  1. #1
    Membre actif Avatar de BioKore
    Homme Profil pro
    Dresseur d'Alpaga
    Inscrit en
    Septembre 2016
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dresseur d'Alpaga

    Informations forums :
    Inscription : Septembre 2016
    Messages : 300
    Points : 219
    Points
    219
    Par défaut constructeur pour structures "cachées dans des unions ?
    Bonjour à tous,

    Je me demandais comment pouvait-on faire pour pouvoir initialiser des objets issus de structures comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    template<typename T>
    union MonUnion {
    	struct : public T {
     
    		std::size_t val_;
    	};
     
    	MonUnion<T> *next_;
    };
     
    MonUnion<Object> mObj(/*???*/); //comment faire pour initialiser T ?
    Peut-être est-ce une structure un peu bizarre ?

    Merci d'avance.

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2011
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 739
    Points : 3 627
    Points
    3 627
    Par défaut
    MonUnion<Object> mObj{{Object{}, 0}} et MonUnion<Object> mObj{.next_=nullptr};.

    Mais les structures anonymes sont une extension de gcc, cela n'est absolument pas standard.

  3. #3
    Membre actif Avatar de BioKore
    Homme Profil pro
    Dresseur d'Alpaga
    Inscrit en
    Septembre 2016
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Dresseur d'Alpaga

    Informations forums :
    Inscription : Septembre 2016
    Messages : 300
    Points : 219
    Points
    219
    Par défaut
    Ok je comprends mieux. Dans tous les cas, par contre, j'obtiens un Warning. Pas cool avec le -Wextra (pour ça que mes premiers tests ne fonctionnaient pas je pense).
    Dans tous les cas, s'il ne s'agit que d'une extension de GCC je vais tâcher de m'en passer alors (pour le moment).

    Merci.

    EDIT: juste pour info, suite à la découverte d'une option de GCC, effectivement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    error: ISO C++ prohibits anonymous structs [-Werror=pedantic]
       };

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

Discussions similaires

  1. Requête pour supprimer caractères spéciaux dans des champs
    Par Laureoz dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 02/02/2012, 16h58
  2. Réponses: 6
    Dernier message: 23/08/2010, 17h25
  3. Réponses: 19
    Dernier message: 26/08/2009, 10h16
  4. Scripter IE7 pour ouvrir plusieurs url dans des onglets
    Par Ttienne dans le forum VBScript
    Réponses: 13
    Dernier message: 02/04/2008, 23h34
  5. Script pour Modifier les metadonnées dans des TIFF
    Par Airmoi dans le forum Windows
    Réponses: 2
    Dernier message: 04/11/2006, 14h12

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