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 :

soucis de declaration


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut soucis de declaration
    Bonjour,

    j'ai un petit soucis de declaration, jpiga pas pourquoi, mais j'ai une erreur

    voici la declaration de la classe sur laquelle je veux declarer un pointeur :

    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
    38
    39
    40
    41
    class DlListing : public CDigiDialog
    {
    	DECLARE_DYNAMIC(DlListing)
    	CMutex *p_mutex;	
     
    public:
    	DlListing(CWnd* pParent = NULL);   // standard constructor
    	virtual ~DlListing();
    	virtual BOOL OnInitDialog();
    	BOOL m_bVersionTest;
     
    // Dialog Data
    	enum { IDD = IDD_DlListing };
     
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
     
    	DECLARE_MESSAGE_MAP()
    public:
    	virtual void OnOK();
    	virtual void OnCancel();
    	CString m_eSaisie;
    	long OnMiseAJour(WPARAM wparam, LPARAM lparam);
    	void SetPtrOnRepresentationFile(CRepresentation *rFichier);
    	void SetPtrOnPBillet(CBillet *pbBillet);
    	void SetPtrOnCounter(int *piBillet, int *piPlace);
    	void SetPtrOnMutex(CMutex *mutex);
    	CListBox m_lbListbox;
    	afx_msg void OnLbnSelchangeList();
    	afx_msg void OnEnChangeEditCodeBarre();
    	CRichEditCtrl m_rRecapitulatif;
    	void UpdateRecap(CString sTicket);
    	void AppendTextToRecap(CString sTxt, BOOL bBold);
    	void RefreshButtonAffich(BOOL bValid);
    	afx_msg void OnBnClickedButtonCompostage();
    	afx_msg void OnBnClickedButtonBackToScan();
    	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
    	CTransparentBitmapButton m_buttonRetourScan;
    	CTransparentBitmapButton m_buttonComposter;
    	CTransparentBitmapButton m_ButtonDecomposter;
    };
    ca, aucun soucis,

    je veux dans une autre classe declarer un pointeur sur cte classe
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    class DlScanner : public CDigiDialog
    {
    	DECLARE_DYNAMIC(DlScanner)
    	CWinThread *p_threadUpData; // thread d'UP des données
    	CWinThread *p_threadDownData; // thread de download des données
    public:
    
    	DlListing *p_ListingDialog;
    
    	BOOL NEED_UP,
    		 m_bVersionTest;
    
    	// Panneau de controle
    	int p_iBilletTotal, 
    		p_iPlaceTotal,
    		p_iBillet,
    		p_iPlace;
    
    	// Mutex : MUTual EXclusion : permet la syncho
    	CMutex m_mutex;	
    
    
    	CCustomStringList m_cslBilletsModifies;
    
    	DlScanner(CWnd* pParent = NULL);   // standard constructor
    	virtual ~DlScanner();
    	virtual BOOL OnInitDialog();
    
    // Dialog Data
    	enum { IDD = IDD_DlScanner };
    
    protected:
    	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
    
    	DECLARE_MESSAGE_MAP()
    public: 
    	void InitWithNewRepresentation(void);
    	CRichEditCtrl m_rRichFiche;
    	long OnConnexionOK(WPARAM wparam, LPARAM lparam);
    	long OnConnexionERR(WPARAM wparam, LPARAM lparam);
    	long OnMiseAJour(WPARAM wparam, LPARAM lparam);
    	BOOL IsConnected(void);
    	void SetConnexionState(BOOL bState);
    	virtual void OnOK();
    	virtual void OnCancel();
    	void SetFilePath(CString csPath);
    	afx_msg void OnBnClickedButtonListing();	
    	virtual BOOL PreTranslateMessage(MSG* pMsg) ;
    	afx_msg void OnTimer(UINT nIDEvent);
    	void AnalyseCodeBarre(CString codeBarre);
    	void AppendTextToRecap(CString sTxt, BOOL bBold = FALSE, BOOL bCentered = FALSE);
    	void SendBeep(BOOL bGOOD);
    	void SleepNonFige(void);
    	BOOL m_UnderSleeping;
    	void SetMessageClignotant(CString sCaption);
    	void UpdatePanneauControleFromBillet(void);
    	void UpdatePanneauControle(void);
    	
    	int m_iRadioCompostage;
    	afx_msg void OnBnSetfocusRadiocompostage();
    	CTransparentBitmapButton m_buttonListing;
    	CStatic m_sBlinkText;
    	afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
    	CStatic m_panneauBillet;
    	CStatic m_panneauPlace;
    };
    j'ai beau mettre la ligne en rouge un peu partout dans ma classe, j'ai toujours cette erreur :

    error C2143: syntax error : missing ';' before '*'
    error C2501: 'DlScanner::DlListing' : missing storage-class or type specifiers
    error C2501: 'DlScanner::p_ListingDialog' : missing storage-class or type specifiers
    et pourtant, clic droit sur DlListing pointe bien vers la classe, les headers sont bon, tous les includes sont nickel.

    je desespere

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    (ceci aurait mieux sa place dans le sous-forum MFC)
    Essaie en rajoutant la ligne suivante devant ta déclaration de classe DlScanner:
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    Merci, ca m'enleve l'erreur !

    par contre pourquoi j'avais cette erreur, c'est bizarre !

    nb: exact, desole de mettre loupé de forum, jferai plus attention la prochaine fois

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par défaut
    Citation Envoyé par firejocker
    Merci, ca m'enleve l'erreur !

    par contre pourquoi j'avais cette erreur, c'est bizarre !
    tout simplement parce que le type DlListing n'était pas connu du compilateur à l'endroit où tu l'utilisais.

    rien de bizarre là-dedans !

  5. #5
    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
    (ceci aurait mieux sa place dans le sous-forum MFC)
    Il se serait agit de classes Toto ou Brouette, ça n'aurait pas fait grande différence, ici c'est un problème de C++ avant tout.

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    650
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 650
    Par défaut
    tout simplement parce que le type DlListing n'était pas connu du compilateur à l'endroit où tu l'utilisais.

    rien de bizarre là-dedans !
    Mais pourtant, le .h le definit noralement, juste avant, non ?

Discussions similaires

  1. c++ et les soucis avec les forwards declaration.
    Par Invité dans le forum Langage
    Réponses: 5
    Dernier message: 25/08/2014, 16h29
  2. soucis de declaration
    Par tof5962 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 07/07/2008, 14h55
  3. Réponses: 2
    Dernier message: 03/10/2002, 17h24
  4. Declaration Type ds une procedure
    Par Qwazerty dans le forum Langage
    Réponses: 6
    Dernier message: 28/08/2002, 09h09
  5. Declarer une dll Delphi ?
    Par DelphiCool dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/07/2002, 10h07

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