Bonjour,

J'ai un problème de compilation avec Dev-c++
J'ai un fichier "Ma_Classe.cpp" qui a besion du fichier "Etat_De_Ma_Classe.cpp" et en particulier la classe 'Rect'.

Etat_De_Ma_Classe.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
class Rect : public Etat_Possible//Pour mettre en place le DP par états.
{
...
};
Ma_Classe.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Ma_Classe::Ma_Classe( const int & a, const int & b)
{//Constructeur 2 arguments.
Mon_Etat = new Rect( a, b );
}

Le problème c'est que le compilateur me dit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
'Rect' has not been declared
Alors j'ai ajouté une déclaration de ma classe ( class Rect; ).
Et j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
invalid use of undefined type 'struct Rect' 
forward declaration of 'struct Rect' 
//Rect est un des états possible de 'Ma_Classe'.
Je me suis demandé si l'inclusion du fichier se faisait correctement alors j'ai copier/coller le code source de 'Rect' dans le fichier 'Ma_Classe.cpp" et mon super compilo me regarde en souriant et me nargue...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
redefinition of 'class Rect' 
previous definition of 'class Rect' //Définition de "Etat_De_Ma_Classe.cpp"
confused by earlier errors, bailing out
Donc l'inclusion se fait correctement, alors pourquoi mon compilo n'est pas capable de faire le linkage( si c'est le bon mot )?


Est-ce quelqu'un sait pourquoi mon compilo est si méchant avec moi?


PS : Il n'y a pas d'erreur de syntaxe et je suis protégé de l'inclusion multiple.