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 :

Erreur de cmpilation


Sujet :

Langage C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Par défaut Erreur de cmpilation
    Bonjour,
    Dans mon Programme j'ai créer une méthode (fonction) GetXPoint() pour obtenir ici 1 coordonné d'un point dans la classe point voici le code :

    mon Point.h
    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
     
    #include <iostream>
    #include<math.h>
    #include<stdlib.h>
    #include<string>
     
    using namespace std;
     
    class Point{
     
    	private:
    		int x;
    		int y;
    		string name;
     
    	public:
    		Point();
    		Point(string,int,int);
    		void GetPoint();
    		void GetXPoint();		
    		void SetXPoint(int);
    		void SetYPoint(int);
     
     
    };
    mon Point.cpp
    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
     
     
    #include "Point.h"
    #include <iostream>
    #include<math.h>
    #include<stdlib.h>
    #include<string>
    using namespace std;
     
    Point::Point()
    {
    	x=0;
    	y=0;
    	name= "toto";
    }
     
    Point::Point(string nom ,int x_x , int y_y )
    {
    	name= nom;
    	x=x_x;//initialisation d'un point par defaut
    	y=y_y;
    }
     
    void Point::GetPoint()
    {
    	cout<< "Point:" << name << endl;
    	cout<< "x=" << x << endl;
    	cout<< "y=" << y << endl;
    }
     
     
    void Point::GetXPoint()
    {
    	return x;
    } 
     
    void Point::SetXPoint(int x_x )
    { 
    	x=x_x;
    }
    void Point::SetYPoint(int y_y)
    {
    	y=y_y;
    }
    J'ai créer un fichier main.cpp mais l'erreur ne viens pas de là

    voici ce que répond mon terminale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bruno@ubuntu:/media/DATA/L3/Semestre 5/INF1508C++/TP03$ g++ -o test  Point.h Point.cpp main.cpp 
    Point.cpp:33: error: no ‘void Point::GetXPoint()’ member function declared in class ‘Point’
    je ne vois pas ou est l'erreur puisque cette fonction est créer dans la classe Point et je l'aie bien définie dans mon Point.h
    j'ai testé plein de truc c'est la même erreur qui revien uniquement sur cette fonction ...

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    1/Pourquoi tout ces includes dans le .h alors que tu en as besoin au mieux que dans le .cpp ? Ne pas mettre des include inutiles : cela alourdit le code, accroit les dépendances inutilement et augmente les temps de compilation.
    2/Il est fortement recommandé de ne pas faire de using namespace dans un .h.
    3/Tes fonctions Get retournent quelque chose mais ont un type retour void
    4/La constance est absente partout.
    5/Utilise les listes d'initialisations plutôt que l'initialisation par valeur dans le constructeur
    Ce qui pourrait donner :
    .h
    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
    #ifndef Point_h
    #define Point_h
    #include<string>
     
    class Point{
     
    	private:
    		int x;
    		int y;
    		std::string name;
     
    	public:
    		Point();
    		Point(std::string const&,int,int);
    		void GetPoint()const;
    		int GetXPoint()const;
    		void SetXPoint(int);
    		void SetYPoint(int);
     
     
    };
    #endif
    .cpp
    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
    #include "point.h"
    #include <iostream>
    #include<string>
    Point::Point()
    :x(0),y(0),name("toto")
    {
    }
     
    Point::Point(std::string const&nom ,int x_x , int y_y )
    :x(x_x),y(y_y),name(nom)
    {}
     
    void Point::GetPoint() const
    {
        std::cout<< "Point:" << name << std::endl;
        std::cout<< "x=" << x << std::endl;
        std::cout<< "y=" << y << std::endl;
    }
     
     
    int Point::GetXPoint()const
    {
        return x;
    }
     
    void Point::SetXPoint(int x_x )
    {
        x=x_x;
    }
    void Point::SetYPoint(int y_y)
    {
        y=y_y;
    }
    Ensuite on pourrait discuter sur l'utilité de définir des accesseurs et des mutateurs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 22
    Par défaut
    dans mon dossier du programme j'ai un Point.h.gch

    c'est due à une mauvaise compilation dans mon terminale

    tout d'un coup je n'aie plus d'erreur de compilation

Discussions similaires

  1. Erreur fréquente avec ASP et IIS
    Par Community Management dans le forum ASP
    Réponses: 2
    Dernier message: 11/02/2004, 22h20
  2. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49
  3. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  4. erreur IDL:omg.org/CORBA/MARSHAL:1.0
    Par Pinggui dans le forum CORBA
    Réponses: 3
    Dernier message: 13/05/2002, 15h05
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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