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 :

does not match any in class


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut does not match any in class
    Bonjour

    J'ai pas trouvé une solution à cette erreur . je vérifie mon code et je le trouve correcte mais le problème sans résolution voici mon code fichier Etat.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
     
    #include "Etat.cpp"
     
     
    Etat::Etat(string a,string b)
    {
    nomEtat=a;
    Idetat=b;
    }
     
    void Etat::setIdEtat(const char  *  id)
    {
    	Idetat=id;
    	cout <<"" << Idetat << endl;
    }
     
    void  Etat::setNameEtat(const char  *  n)
    {
    	nomEtat=n;
    	cout << "" << nomEtat << endl;
    }
    et fichier Etat.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
     
    #ifndef ETAT_H_
    #define ETAT_H_
    #include <iostream>
    #include <stddef.h>
    #include <string>
    #include <vector>
    using namespace std;
     
    class Etat
    {
     
    private :
    	string nomEtat;
    	string Idetat;
     
    public:
     
    	 Etat(string, string);
    	 void setIdEtat(const char *);
    	 void setNameEtat(const char *);
     
    };
    #endif /* ETAT_H_ */
    le Main
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    struct Connection
    		{
    			Etat *Ein ;
    			Etat *Eout ;
    		};
    int main()
    {
    	TiXmlDocument doc("Simplexemple.xml");
    			if(!doc.LoadFile()){
    		   	cerr << " erreur lors du chargement" << endl;
    		   	cerr << "error #" << doc.ErrorId() << " : " << doc.ErrorDesc() << endl;
     
    		    	return 1;
    			}
     
    			list<Etat> list_Etat;
    			//TiXmlNode  *child;
    			//TiXmlText * pText;
    			TiXmlElement *root = doc.FirstChildElement();
    			if(!root){
    					   cerr << "le noeud à atteindre n'existe pas" << endl;
    						return 2;}
     
    			//t *elem = root->FirstChildElement();
    			 //pText = elem->ToText();
    			 //char*
                 //   const char *p=root->Value();
    			//string p = elem->value();
    			 //cout << "le premier racine est " << p << endl;
    			 //const char *k =root->Attribute("xmi:version");
    			 //cout << "type" << k <<endl;
    			TiXmlElement *diag=root->FirstChildElement();
    			const char *p=diag->Value();
    			cout << "le premier racine est " << p << endl;
    			const char *k =diag->Attribute("xmi:type");
    			cout << "type" << k <<endl;
    			Diagramme D;
    			D.setTypeDiagramme(k);
    			const char *nameD =diag->Attribute("name");
    			D.setNameDiagramme(nameD);
     
    			TiXmlElement *reg=diag->FirstChildElement();
    			TiXmlElement *elem=reg->FirstChildElement();
    			if (elem==NULL)
    					{
    				cout << "Diagramme états-transition vide" << endl;
    				return 1;
    					}
    			else
    			{  const char *element= elem->Value();
    				if (strcmp(element,"subvertex"))
    				{
    					const char *nometat =elem->Attribute("name");
    					const char *Idetat =elem->Attribute("xmi:id");
     
    					Etat e;
    					e.setNameEtat(nometat);
    					e.setIdEtat(Idetat);
     
    }
    			}
     
    };
    les erreurs sont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Etat.cpp:11: error: definition of implicitly-declared ‘Etat::Etat()’
    Etat.cpp:15: error: prototype for ‘Etat::Etat(std::string, std::string)’ does not match any in class ‘Etat’
    Etat.h:19: error: candidates are: Etat::Etat(const Etat&)
    Etat.h:19: error:                 Etat::Etat()
    Etat.cpp:21: error: no ‘void Etat::setIdEtat(const char*)’ member function declared in class ‘Etat’
    Etat.cpp:27: error: no ‘void Etat::setNameEtat(const char*)’ member function declared in class ‘Etat’
    Je besoin de votre aide et merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    les erreurs sont explicites

    Main.cpp:75: error: no matching function for call to ‘Etat::Etat()’
    Etat n'a pas de constructeur sans paramètres

    Cette déclaration implique un constructeur sans paramètres, que tu n'as pas, d'où l'erreur précédente, induite de celle-ci.


    On n'inclut jamais de .cpp
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut
    merci j'ai ajouter le constructeur par defaut mais toujours le même problème pour le #include"Etat.h" j'ai trompé dans le copie de code mais c'est #include"Etat.h"dans le fichier Etat.cpp
    voici les erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Etat.cpp:11: error: definition of implicitly-declared ‘Etat::Etat()’
    Etat.cpp:15: error: prototype for ‘Etat::Etat(std::string, std::string)’ does not match any in class ‘Etat’
    Etat.h:19: error: candidates are: Etat::Etat(const Etat&)
    Etat.h:19: error:                 Etat::Etat()
    Etat.cpp:21: error: no ‘void Etat::setIdEtat(const char*)’ member function declared in class ‘Etat’
    Etat.cpp:27: error: no ‘void Etat::setNameEtat(const char*)’ member function declared in class ‘Etat’

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tes erreur sont exactement les mêmes..

    Etat.cpp:11: error: definition of implicitly-declared ‘Etat::Etat()’
    Etat.cpp:15: error: prototype for ‘Etat::Etat(std::string, std::string)’ does not match any in class ‘Etat’
    Etat.h:19: error: candidates are: Etat::Etat(const Etat&)
    Etat.h:19: error: Etat::Etat()
    Etat.cpp:21: error: no ‘void Etat::setIdEtat(const char*)’ member function declared in class ‘Etat’
    Etat.cpp:27: error: no ‘void Etat::setNameEtat(const char*)’ member function declared in class ‘Etat’
    Il t'indique noir sur blanc que tes fonctions ne sont pas déclarés dans le header
    Soit tu as un problème dans ton header, soit tu essayes d'implémenter quelque chose que tu as mal déclaré, vérifie les virgules, types de paramètres, const, ...
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut
    C'est le header complet j'ai passé deux jours et j'ai pas trouvé vraiment le problème surtout que le compilateur affiche que les méthodes ne sont pas déclarés que n'est pas le cas
    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
    #ifndef ETAT_H_
    #define ETAT_H_
    #include <iostream>
    #include <stddef.h>
    #include <string>
    #include <vector>
    #include "Transition.h"
    class Diagramme;
    using namespace std;
     
    class Etat
    {
     
    private :
    	string  nomEtat;
    	Condition *Invariant;
    	string Idetat;
    	std::vector<Comportement *> EntryTableAction_etat;
    	std::vector<Comportement *> DOTableAction_etat;
    	std::vector<Comportement *> ExitTableAction_etat;
    	 Diagramme *sousdiagramme;
     
    public:
     
    	 Etat();
    	 Etat(string, string);
    	 void setIdEtat(const char *);
    	 void setNameEtat(const char *);
    	 void addEntryAction(Comportement *);
    	 void addExitAction(Comportement *);
    	 void addDoAction(Comportement *);
     
       string GetId();
      string getNomEtat();
      Comportement * GetEntryAction();
      Comportement * GetDoAction();
      Comportement * GetExitAction();
    };
    #endif /* ETAT_H_ */

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Vous n'avez pas définit de constructeur ne prenant pas d'arguments, dans votre fichier CPP. C'est pour cela que le compilateur rale.

    Soit, dans le HPP, vous remplacer [codeinline]Etat();|/codeinline] par :
    soit, vous rajoutez dans le CPP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Etat::Etat()
    {
     
    }
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 47
    Points : 40
    Points
    40
    Par défaut
    j'ai mis le constructeur dans le .h Etat();
    et dans le .cpp Etat(){}; mais toujour le même problème :'(

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Pouvons nous avoir tous le projet, afin de tester chez nous et être sur de l'état des fichiers / configuration du projet. Merci
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. signer information does not match signer information?
    Par petozak dans le forum Langage
    Réponses: 19
    Dernier message: 09/11/2010, 21h54
  2. Réponses: 7
    Dernier message: 07/07/2006, 11h17
  3. Réponses: 1
    Dernier message: 10/05/2006, 12h11
  4. Réponses: 11
    Dernier message: 08/10/2004, 15h12
  5. [Plugin]package does not match the expected package src
    Par Fladnag dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 10/03/2004, 20h17

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