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