Après avoir regardé ton code, c'est une horreur !
Alors:
* Pas de using namespace std, et surtout
pas dans un .h !!!
* Si tu fais des forward declaration, alors tu es tenu de faire un include dans le .cpp correspondant.
* Tu passes
tout par copie, même les tableaux, tu vas avoir de gros problèmes de performance.
* conio.h => Tu as vraiment besoin de ça ? Ca m'empêche de compiler chez moi (Je suis sous Linux).
* C'est surement une erreur de syntaxe, parce que je ne vois pas ce que tu essais de faire avec: "list<Case*> ::EltObsatcle(){};"
En retirant les conio.h, j'arrive à diminuer les erreurs à
Grille.cpp: In constructor ‘Grille::Grille()’:
Grille.cpp:14: error: invalid use of incomplete type ‘struct Case’
Grille.h:5: error: forward declaration of ‘struct Case’
Grille.cpp:23: error: invalid use of incomplete type ‘struct Case’
Grille.h:5: error: forward declaration of ‘struct Case’
Grille.cpp:23: error: invalid use of incomplete type ‘struct Case’
Grille.h:5: error: forward declaration of ‘struct Case’
In file included from Itineraire.cpp:1:
Itineraire.h:12: error: ISO C++ forbids declaration of ‘list’ with no type
Itineraire.h:12: error: expected ‘;’ before ‘<’ token
Main.cpp:4:20: error: conio.h: Aucun fichier ou dossier de ce type
In file included from Main.cpp:3:
Itineraire.h:12: error: ISO C++ forbids declaration of ‘EltObsatcle’ with no type
Itineraire.h:12: error: cannot define member function ‘std::list<Case*, std::allocator<Case*> >::EltObsatcle’ within ‘Itineraire’
In file included from Main.cpp:5:
Case.h:1: error: redefinition of ‘class Case’
Case.h:3: error: previous definition of ‘class Case’
Main.cpp: In function ‘int main()’:
Main.cpp:11: error: ‘getch’ was not declared in this scope
Robot.cpp: In member function ‘bool Robot::presenceObstacle(int, int) const’:
Robot.cpp:32: error: invalid use of incomplete type ‘struct Case’
Grille.h:5: error: forward declaration of ‘struct Case’
Robot.cpp:32: error: invalid use of incomplete type ‘struct Case’
Grille.h:5: error: forward declaration of ‘struct Case’
La très grande majorité des erreur est dû à des "forward declaration" mal utilisées. Remplace les "class Case;", par des #include "Case.h", et applique ceci pour tout. Si ton prof t'a dit que c'était mieux en écrivant "class truc;" plutôt que #include "truc.h", il n'a pas tort, mais ce n'est à mon sens pas à la portée d'un débutant d'en comprendre la raison.
J'ai arrếté de regarder, je t'invite à corriger déjà tout cela, et si le problème persiste, poste ton code mis à jour.