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 :

erreur de compilation


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut erreur de compilation
    Bonjour à tous,

    j'ai une erreur de compilation error C2061: syntax error : identifier 'Polygon'
    qui pointe sur la ligne suivante dans un fichier Interface.h:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void initPolygon(Polygon pl, cpSpace* space, bool inComplexShape);

    voilà Interface.h où je ne mets que le code où il y a l'erreur de compilation:
    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
     
    #ifndef INTERFACE_H
    #define INTERFACE_H
     
    //#include "CpTools.h"
    #include "Level.h"
    #include "Body.h"
    #include "Triangle.h"
    #include "Square.h"
    #include "Circle.h"
    #include "Line.h"
    #include "Polygon.h"
    #include "ComplexShape.h"
    #include "MoveTo.h"
    #include "Pivot.h"
     
     
    class Interface{
    ///
    	void initPolygon(Polygon pl, cpSpace* space, bool inComplexShape);
    ///
     
    };
    #endif
    Das Interface.cpp, j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #include "Interface.h"
     
    void Interface::initPolygon(Polygon pl, cpSpace* space, bool inComplexShape){ // code de la méthode
    }
    La fichier de la classe Polygon est ainsi:
    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
     
    #ifndef POLYGON_H
    #define POLYGON_H
     
    #include "BasicShape.h"
    #include "Point.h"
     
    class Polygon : public BasicShape{
    public:
     
    	Polygon();
     
    	void addPoint(Point new_point);
     
    	vector <Point> getPointList();
     
    	int getNbPoints();
     
    	string myType();
     
    private:
    	vector <Point> points;
    };
     
    #endif
    et son .cpp est ainsi:
    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
     
    #include "Polygon.h"
     
    Polygon::Polygon() : BasicShape(){}
     
    void Polygon::addPoint(Point new_point){
    	points.push_back(new_point);
    }
     
    vector <Point> Polygon::getPointList(){
    	return points;
    }
     
    int Polygon::getNbPoints(){
    	return points.size();
    }
     
    string Polygon::myType(){
    	return "polygon";
    }

    apparemment le compilateur ne connaît pas Polygon mais je ne comprends vraiment pas pourquoi.

    Merci d'avance pour votre aide

  2. #2
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Salut,

    tu as peut etre mal copier-coller mais il manque un "};" pour refermer l'accolade de ta class Interface dans le fichier interface.h

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut
    en effet c'est bien une erreur de copier-coller ^^

  4. #4
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Re,

    Essaye d'inclure le fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include "BasicShape.h"
    Car ton polygone hérite de "BasicShape" de manière public qui je suppose se situe dans le fichier BasicShape.h

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut
    merci, ça compile

    merci beaucoup FunK92

  6. #6
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Mais de rien

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut
    à vrai dire j'ai été hâtif, ça ne compile toujours pas désolé

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    142
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 142
    Points : 154
    Points
    154
    Par défaut
    Toujours le meme message d'erreur ?

    Essaye aussi en incluant le fichier point.h vu qu'il apparait dans le fichier ou tu declare la class, j'imagine qu'il doit en avoir besoin.

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 139
    Points : 68
    Points
    68
    Par défaut
    j'ai trouvé le problème.

    En fait, comme j'utilise visual studio et que Point est inclus dans Polygon alors l'objet de Point n'est pas créé et donc Polygon ne le trouve pas.

    J'ai inclus le Point en mettant entre commentaire la partie sur Polygon dans Interface.h et .cpp.
    j'ai compilé et ensuite le Point.obj a été créé, et après j'ai remis l'include de Polygon et ça a finalement compilé

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

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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