Compilateur ne sachant pas compiler
Bonjour,
J'ai un problème de compilation avec Dev-c++:aie:
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:
1 2 3 4 5
|
class Rect : public Etat_Possible//Pour mettre en place le DP par états.
{
...
}; |
Ma_Classe.cpp :
Code:
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:
1 2
|
'Rect' has not been declared |
Alors j'ai ajouté une déclaration de ma classe ( class Rect; ).
Et j'obtient :
Code:
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:
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 )?
:help: Est-ce quelqu'un sait pourquoi mon compilo est si méchant avec moi?
:oops:
PS : Il n'y a pas d'erreur de syntaxe et je suis protégé de l'inclusion multiple.