include en boucle [C++] - C++ - Programmation
Marsh Posté le 05-08-2002 à 20:50:39
- regle 1, on n'inclut que ce qu'on a besoin
ici, tu n'as besoin que d'une forward declaration de Object dans Scenemanager.h
et une forward declaration de SceneManager dans Object.h
Une forward declaration de class ressemble a ca:
Code :
|
- Parfois tu cherches a obtenir "l'autosuffisance" de ton include (apres une indirection multiple par exemple) ce qui complete la regle numero 1 (mais ne la contredit pas), dans ce cas tu es autorisé a faire l'include mais n'enleve pas la forward declaration pour autant dans les deux fichiers comme ca tu n'as pas a te soucier de l'ordre de l'inclusion!
tu peux faire quelque comme ca:
Code :
|
A+
LeGreg
Marsh Posté le 05-08-2002 à 18:37:29
Je suis en train de programmer un petit moteur 3D et je me heurte à un problème:
Voici mon code:
SceneManager.h :
J'aimerais que toutes les instances de la classe Object puissent accéder au SceneManager donc j'ai écrit la classe Object comme ceci:
Object.h :
Le problème, c'est que lorsque je veux compiler ça, Visual C++ me met pleins de petites erreurs de compilation, du genre "SceneManager.h : error C2065: 'Object' : undeclared identifier"
J'ai vu en faisant une recherche dans le forum qu'il suffisait de mettre l'include de SceneManager dans Object.cpp au lieu de le mettre dans Object.h . Mais bon, ça n'a pas l'air très propre, et j'aimerais savoir si il existe une autre solution pour que mes Object accède tous à SceneManager, même en changeant l'architecture de la classe Object ou de la classe SceneManager.