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 :
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. { ... };
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 :
Alors j'ai ajouté une déclaration de ma classe ( class Rect; ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'Rect' has not been declared
Et j'obtient :
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 invalid use of undefined type 'struct Rect' forward declaration of 'struct Rect' //Rect est un des états possible de 'Ma_Classe'.
Donc l'inclusion se fait correctement, alors pourquoi mon compilo n'est pas capable de faire le linkage( si c'est le bon mot )?
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
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.
Partager