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 :

Sens des declarations


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 65
    Par défaut Sens des declarations
    Bonjour, je suis pris dans une boucle de déclarations, et je sais pas trop comment m'en sortir :
    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
    class dClient;
     
    struct dClientPrivate {
    	/* Declarations... */
    	dClient::userType uType;  // C'est la que ca coince !
    	/* Declarations */
    };
     
    class dClient : public QTcpSocket {
    	Q_OBJECT
     
    public:
    	dClient(int, QObject*);
    	enum userType { u_Unknown, u_Pupil, u_Teacher, u_Admin };
     
    /* Declarations */
     
    protected:
    	dClientPrivate p;
    };
    Voila, le problème c'est que le struct et la classe ont besoin l'un de l'autre, je sais pas comment le déclarer pour que ca fonctionne... J'ai bien essayé avec dClientPrivate sous dClient, mais ca plante dans la déclaration de la classe...

  2. #2
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    Tu as un problème de conception, déjà.

    Mets plutôt userType en dehors de dClient, si c'est un flag commun à plusieurs classes et/ou accessible globalement.

  3. #3
    screetch
    Invité(e)
    Par défaut
    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
    class dClient : public QTcpSocket {
    	Q_OBJECT
     
    public:
    	dClient(int, QObject*);
    	enum userType { u_Unknown, u_Pupil, u_Teacher, u_Admin };
     
    /* Declarations */
     
    protected:
    	struct dClientPrivate {
    		/* Declarations... */
    		dClient::userType uType;  // C'est la que ca coince !
    		/* Declarations */
    	};
    protected:
    	dClientPrivate p;
    };
    qui a en plus l'avantage de proteger la declaration de la classe privée

  4. #4
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2009
    Messages : 65
    Par défaut
    Merci pour la réponse, j'avais effectivement pas vu les choses comme ca... Même que ca marche ...

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

Discussions similaires

  1. [datetick] Changer le sens des valeurs d'un axe
    Par Ed Wood dans le forum MATLAB
    Réponses: 20
    Dernier message: 17/04/2008, 15h38
  2. Réponses: 5
    Dernier message: 16/05/2007, 23h25
  3. Créer un site : Faut-il faire des declarations ?
    Par jejesochalion dans le forum Droit
    Réponses: 13
    Dernier message: 05/09/2006, 22h38
  4. Sens des connecteurs sur carte mère
    Par SteelBox dans le forum Composants
    Réponses: 2
    Dernier message: 04/01/2006, 13h00
  5. Sens des TrackBar et des ProgressBar
    Par Harvester dans le forum Composants VCL
    Réponses: 1
    Dernier message: 03/07/2005, 21h46

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