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 :

Problème de compilation [VS2008]


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Par défaut Problème de compilation [VS2008]
    Bonjour, dans le cadre d'un projet scolaire, on doit développer en C++ une prompt d'expression mathématique.

    voici ma classes «Expression.h» (elle est obligé d'être abstraite)
    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
     
    #ifndef _EXPRESSION_H_
    #define _EXPRESSION_H_
     
    #include <string>
     
    class Expression
    {
    	public:
    			Expression(void);
    			Expression(std::string p_Exp);
    			virtual ~Expression();
    			virtual float evaluer(void) = 0;
    			std::string getExpression() const;
     
    	private:
    			std::string m_Expression;
     
    };
    #endif
    Expression.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
    #include "Expression.h"
    using namespace std; 
     
    Expression::Expression(void)
    {
    }
     
    Expression::Expression(string p_Exp) : m_Expression(p_Exp)
    {
    }
     
    Expression::~Expression()
    {
    }
     
    std::string Expression::getExpression() const
    {
    	return m_Expression;
    }
    Addition.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
    #include "addition.h"
    using namespace std; 
     
    Addition::Addition(void)
    {
    }
     
    Addition::~Addition()
    {
    }
     
    float Addition::evaluer(void)
    {
    	return 0.f;
    }
    Addition.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
    #ifndef _ADDITION_H_
    #define _ADDITION_H_
     
    //#include "main.h"
    #include <string>
    #include "Expression.h"
     
    class Addition : public Expression
    {
    	public:
    		Addition(void);
    		virtual ~Addition();
    		virtual float evaluer(void) = 0;
     
    	private:
    		//Expression *m_SousExpression;
    };
     
    #endif
    parser.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
    #include "parser.h"
    using namespace std;
     
    Parser::Parser(std::string p_Expression) : m_Expression(p_Expression)
    {
    }
     
    Parser::~Parser(void)
    {
    }
     
     
    void Parser::analyser(std::vector<Expression*> p_VecteurExpression)
    {
    	string l_Exp = m_Expression;
    	for (int liI = 0; liI = l_Exp.size(); ++liI)
    	{
    		if (isdigit(l_Exp[liI]))
    		{
     
    		}
    	}
    }
    parser.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 _EXPRESSION_H_
    #define _EXPRESSION_H_
     
    //#include "main.h"
    #include <vector>
    #include <string>
    #include "expression.h"
    #include "addition.h"
     
    class Parser
    {
    	public:
    		Parser(std::string p_Expression);
    		~Parser(void);
    		void analyser(std::vector<Expression*> p_VecteurExpression);
     
    	private:
    		std::string m_Expression;
     
    };
     
    #endif
    Voici la liste des erreurs :
    Erreur 1 error C2504: 'Expression'*: classe de base non définie f:\projet ecole\tp2mbb\tp2mbb\addition.h 9 TP2MBB
    Erreur 2 error C2065: 'Expression'*: identificateur non déclaré f:\projet ecole\tp2mbb\tp2mbb\parser.h 15 TP2MBB
    Erreur 3 error C2059: erreur de syntaxe*: '>' f:\projet ecole\tp2mbb\tp2mbb\parser.h 15 TP2MBB
    Erreur 4 error C2059: erreur de syntaxe*: ')' f:\projet ecole\tp2mbb\tp2mbb\parser.h 15 TP2MBB
    Erreur 5 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.h 20 TP2MBB
    Erreur 6 error C2143: erreur de syntaxe*: absence de ';' avant '{' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 5 TP2MBB
    Erreur 7 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 6 TP2MBB
    Erreur 8 error C2143: erreur de syntaxe*: absence de ';' avant '{' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 9 TP2MBB
    Erreur 9 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 10 TP2MBB
    Erreur 10 error C2065: 'Expression'*: identificateur non déclaré f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 13 TP2MBB
    Erreur 11 error C2059: erreur de syntaxe*: '>' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 13 TP2MBB
    Erreur 12 error C2059: erreur de syntaxe*: ')' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 13 TP2MBB
    Erreur 13 error C2143: erreur de syntaxe*: absence de ';' avant '{' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 14 TP2MBB
    Erreur 14 error C2143: erreur de syntaxe*: absence de ')' avant ';' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 16 TP2MBB
    Erreur 15 error C2059: erreur de syntaxe*: ')' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 16 TP2MBB
    Erreur 16 error C2143: erreur de syntaxe*: absence de ';' avant '{' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 17 TP2MBB
    Erreur 17 error C2143: erreur de syntaxe*: absence de ';' avant '{' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 19 TP2MBB
    Erreur 18 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 21 TP2MBB
    Erreur 19 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 22 TP2MBB
    Erreur 20 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 23 TP2MBB
    Erreur 21 error C2143: erreur de syntaxe*: absence de ';' avant '}' f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 24 TP2MBB
    Erreur 22 fatal error C1004: fin de fichier inattendue rencontrée f:\projet ecole\tp2mbb\tp2mbb\parser.cpp 24 TP2MBB
    J'avoue que je ne comprend pas d'ou viennent cette erreur ....
    Si sa peu vous aidez voici les sources du peu de code développer ^^
    http://www.megaupload.com/?d=9MGQ745H

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Iran

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 28
    Par défaut
    il semble que le compilateur ne peut pas trouver "Expression.h"

    un autre probleme :
    dans "Addition.h" vous devez definir "evaluer comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    float evaluer(void);

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 121
    Par défaut
    Ouep le = 0 n'est pas obligatoire je l'avais mis lors du test pour pas être obliger d'y définir un code, mais le mots virtual peut resté devant, et même quant a moi c'est mieux car tu sais qu'elle est virtual ^^

    Sinon, problème est résolu c'était une erreur de déclaration dans parser.h

    J'avais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #ifndef _EXPRESSION_H_
    #define _EXPRESSION_H_
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #ifndef _PARSER_H_
    #define _PARSER_H_
    Maintenant me reste a voir comme analyse une expression en fonction de priorité d'opération pour crée des sous-expression et les évaluer par la suite :/

    Merci de coup de main ^^

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 15/10/2010, 14h23
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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