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 :

un pointeur qui n'est pas reconnu comme un pointeur


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 3
    Par d�faut [RESOLU] un pointeur qui n'est pas reconnu comme un pointeur
    Bonjour,

    j'apprends actuellement le C++ avec le bouquin de Horton.
    Me voil� � pr�sent bloqu� par des probl�mes de compilation. A savoir :
    la d�claration suivante :
    CClass* pPointeur;
    me fait dire que je d�clare un pointeur de la classe CClass, or j'ai une multitude d'erreurs d� au fait qu'il n'est pas reconnu comme tel.

    J'ai un probl�me similaire lorsque je veux d�clarer une fonction qui renvoie un pointeur de cette classe, en �crivant :
    CClass* MaFonction()

    Je remercie par avance toute personne qui pourrait orienter ma recherche d'une solution.[/b]

  2. #2
    Membre exp�riment� Avatar de Grulim
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 234
    Par d�faut
    si le compilo te dit que CClass* est inconnu, tu peux lui faire confiance
    avant de l'utiliser ajoute la ligne suivante au d�but de ton source:

  3. #3
    Membre Expert
    Avatar de la drogue c'est mal
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    2 253
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 2 253
    Par d�faut
    puisque tu debutes, je vais t'expliquer la regle de base si tu as un probleme de code � expliquer.

    il faut toujours associer le descriptif d'un probleme avec le code source ( et c'est encore plus vrai lorsque le descriptif vient d'un d�butant ).

    il faut donc que tu mettes ton code et l'erreur associ�e g�n�r�e par le compilo.



    sinon pour ton probleme, je dirais qu'il est probable qu'il manque un #include "Class.h"

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 3
    Par d�faut
    Voici donc le code en question
    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
     
    class CSketcherView : public CView
    {
    protected: // create from serialization only
    	CSketcherView();
    	DECLARE_DYNCREATE(CSketcherView)
     
    // Attributes
    public:
    	CSketcherDoc* GetDocument();
     
    protected:	
    	CPoint m_FirstPoint;		//premier point enregistré pour un élément
    	CPoint m_SecondPoint;		//second point
    	CElements* m_pTempElement;	//pointeur sur l'élément temporaire
     
     
    // Operations
    public:
     
    protected:
    	CElements* CreateElement(); //crée un element dans le tas
     
    ]
    et l'erreur :

    C:\Program Files\Microsoft Visual Studio\MyProjects\Sketcher\SketcherView.h(26) : error C2501: 'CElements' : missing storage-class or type specifiers
    [/code]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    63
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 63
    Par d�faut
    Salut,
    Il te manque l'inclusion de ta classe CElements : #include "CElements.h" si elle s'appelle comme �a.

  6. #6
    Membre exp�riment� Avatar de Grulim
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 234
    Par d�faut
    Citation Envoy� par cailloo
    Voici donc le code en question
    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
     
    class CSketcherView : public CView
    {
    protected: // create from serialization only
    	CSketcherView();
    	DECLARE_DYNCREATE(CSketcherView)
     
    // Attributes
    public:
    	CSketcherDoc* GetDocument();
     
    protected:	
    	CPoint m_FirstPoint;		//premier point enregistré pour un élément
    	CPoint m_SecondPoint;		//second point
    	CElements* m_pTempElement;	//pointeur sur l'élément temporaire
     
     
    // Operations
    public:
     
    protected:
    	CElements* CreateElement(); //crée un element dans le tas
     
    ]
    et l'erreur :

    C:\Program Files\Microsoft Visual Studio\MyProjects\Sketcher\SketcherView.h(26) : error C2501: 'CElements' : missing storage-class or type specifiers
    [/code]
    comme je l'ai dit plus haut, rajoute la ligne au d�but de ton fichier ou bien inclus le fichier ent�te de ta classe CElement...

  7. #7
    Membre exp�riment� Avatar de Grulim
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    234
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 234
    Par d�faut
    ne peux-tu pas utiliser des reference au lieu de pointeur ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 3
    Par d�faut


    Mon probl�me est r�solu !!!!
    Effectivement il a fallu que je rajoute la directive de pr�-processeur #include "Elements.h"
    je pensais que ces inclusions de fichiers devaient se faire uniquement dans les fichiers .cpp et non dans les fichiers d'en-t�te, d'o� mon erreur !!! A pr�sent je me souviendrai !!

    Merci � tous !!!

    A bient�t !

  9. #9
    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
    Tu peux aussi le faire dans le .cpp, mais il faut se souvenir de toutes les d�pendances et les rappeller dans le .cpp.
    D�claration anticip�e et inclusion dans le .cpp est d'ailleurs un bon moyen de r�duire les temps de recompilation.
    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.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 09/01/2011, 13h26
  2. R�ponses: 1
    Dernier message: 11/09/2007, 12h04
  3. Fonction qui n'est pas reconnue
    Par petitours dans le forum IHM
    R�ponses: 4
    Dernier message: 17/08/2007, 15h28
  4. Netstat n'est pas reconnu comme commande interne !
    Par youcef81 dans le forum Administration
    R�ponses: 1
    Dernier message: 06/09/2006, 12h15
  5. [UBUNTU] Le live cd n'est pas reconnu comme un c�d�rom bootable
    Par Jihed Amine Maaref dans le forum Ubuntu
    R�ponses: 4
    Dernier message: 12/07/2006, 14h37

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