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

Langage C++ Discussion :

petite erreur incomprise


Sujet :

Langage C++

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut petite erreur incomprise
    Dans le .h d'une classe, je met comme attribut :

    private:
    Classe objet;

    et j'obtiens le message d'erreur :
    "error: Field 'Classe' has incomplete type"

    Alors je suis bloqué a la compilation sans pouvoir continuer.
    Si vous pouviez m'aider à résoudre ce petit problème...

    Merci d'avance

  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
    C'est quoi "Classe" ?

    C'est une class que tu as défini ?

    Si oui, si tu as une instance de ce type dans ta classe, tu dois inclure le fichier d'en-tête de la class Classe.


  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    C'est bien une classe que j'ai fait moi même (Classe c'est juste pour pas mettre le nom)

    et j'ai inclus le .h ainsi que le prototype de la fonction.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Une remarque en passant qui n'a probablement rien à voir avec ton problème, appeler une classe "Classe me parait une très mauvaise idée. Tu pourrais peut être lui donner un nom un peu plus parlant.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    comme XXX par exemple?

  6. #6
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    Peux-tu donner le code complet (du moins la structure complète du code) ainsi que le nom des fichiers ?

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #ifndef DEF_FENETRE
    #define DEF_FENETRE
     
    #include <SFML/Window.hpp>
    #include <vector>
    #include "Grille.h"
    #include "Ptitpoint.h"
    #include "Bouton.h"
     
    class Grille;
    class Ptitpoint;
    class Bouton;
     
    class Fenetre : private sf::RenderWindow
    {
    	public:
    		Fenetre(sf::VideoMode video, std::string titre);
    		~Fenetre();
     
    		bool caseV(int etage, int X,int Y);
    		bool caseH(int etage,int Y, int X);
     
    		int getEtage();
     
    	protected:
            Grille grille;
            Ptitpoint ptitpoint;
     
            int etageActuel;
     
            Bouton boutonOuvrir, boutonEditer, boutonEditeur;
    };
     
    #endif

    c'est Ptitpoint qui bug

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 583
    Par défaut
    Enlevez les forward définition des classes car vous avez déjà inclus les .h correspondant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    class Grille;
    class Ptitpoint;
    class Bouton;
    Donnez le contenu de Ptitpoint.h.

  9. #9
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    Euh... Tu sais que si tu inclus ton fichier d'en-tête, il est inutile de re-déclarer la classe ?

    Tu peux donc enlever ces déclarations anticipées

    Mais le problème ne devrait pas venir de là, on peut avoir le code de Ptitpoint ?

    Au passage, si tu pouvais utiliser les balises [code ] stp...

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    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
    19
    20
    21
    22
    23
    #ifndef DEF_PTITPOINT
    #define DEF_PTITPOINT
     
    #include <SFML/Graphics.hpp>
    #include "Fenetre.h"
     
    class Fenetre;
     
    class Ptitpoint
    {
    	public:
    		Ptitpoint();
    		~Ptitpoint();
     
    		void deplacement(int dir, Fenetre* fenetre, float coef = 1);
     
    	protected:
            int X, Y;
            sf::Shape point;
     
    };
     
    #endif
    v'la

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    juste au passage, les déclaration de classe que vous m'avez fait enlever faut les mettre quand?

  12. #12
    Membre chevronné
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Par défaut
    hmmm... Tu n'aurais pas oublié un ; à la fin de la déclaration de Grille.h ?

    Edit: non, enlève #include "Fenetre.h", tu crées une inclusion cyclique.

  13. #13
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 583
    Par défaut
    C'est quoi ça !
    On l'enlève SVP.

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    tiens... maintenant ils disent "does not name a type"...
    depuis que j'ai enlevé les forwards

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    bah zut alors ca marche...
    bon faut que je débug le reste et on verra bien...
    Merci beaucoup

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    Mais ya un autre problème:
    maintenant ils me disent que ya un problème au niveau du forward de Fenetre dans Ptitpoint

  17. #17
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 583
    Par défaut
    Quoi comme problème ?

    PS: Le compilateur il est tout seul.

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    Ben dans la classe Ptitpoint vous m'avez dit d'enlever le include Fenetre donc j'ai gardé le forward Class Fenetre; mais la il me dit "forward déclaration of 'struct Fenetre'

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    et j'ai tout ces probleme parce que je doit récupérer un bete petit bool de la Grille qui appartient a fenetre dans une fonction de Ptitpoint

  20. #20
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 13
    Par défaut
    en fait j'ai une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void Ptitpoint::deplacement(int dir, Fenetre* fenetre, float coef)
    dans Ptitpoint et dedans je doit faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre->caseH(fenetre->getEtage(), l, k)
    caseH c'est une fonction qui renvoi un bool et getEtage ca renvoi l'attribu etage de fenetre

Discussions similaires

  1. Nombres parfaits : petite erreur dans l'algorithme
    Par katrena99 dans le forum Pascal
    Réponses: 6
    Dernier message: 27/01/2014, 23h36
  2. Petite erreur php
    Par 27 dans le forum Langage
    Réponses: 2
    Dernier message: 18/08/2006, 11h49
  3. Erreur incomprise avec DBI et perl
    Par duedos dans le forum SGBD
    Réponses: 3
    Dernier message: 04/07/2006, 12h43
  4. Petite erreur sur formulaire
    Par shub dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 12h55
  5. petite erreur ENGINE=InnoDB
    Par speedylol dans le forum Installation
    Réponses: 1
    Dernier message: 24/03/2006, 18h22

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