Le compilateur semble ignorer une classe : pourquoi ? [C++][Résolu] - C++ - Programmation
Marsh Posté le 18-12-2007 à 15:27:46
Salut,
Y'a un problème au niveau de ta classe Mouvement:
Code :
|
Il y a combien de définitions de la classe
Marsh Posté le 18-12-2007 à 15:34:12
Merci d'avoir répondu aussi vite
Ben une seul, un seul fichier Mouvement.h (Ou je n'ai pas compris la question ?)
Marsh Posté le 18-12-2007 à 15:39:08
Y'a quoi dans Mouvement.h ? Tu n'y déclare pas la classe Mouvement?
Marsh Posté le 18-12-2007 à 15:40:50
Il y a le code que j'ai mis dans mon premier message (premier encadré)
Marsh Posté le 18-12-2007 à 15:45:04
Pourquoi l'inclues-tu dans lui-même?
Bon, le vrai coeur du problème, c'est que tu as une dépendance mutuelle: Camera a besoin de Mouvement et inversement
(Ou plus exactement, c'est ce que tu as codé).
Mouvement n'a (ici) pas besoin de Camera, donc supprimes l'include a Camera. Si plus tard tu en as besoin, il te faudra utiliser une forward declaration (désolé, j'ai pas de terme français). Au passage, il est préférable de les utiliser un maximum, un petit tour sur Google t'en diras plus sur le sujet.
Marsh Posté le 18-12-2007 à 15:54:22
Citation : Bon, le vrai coeur du problème, c'est que tu as une dépendance mutuelle: Camera a besoin de Mouvement et inversement |
Merci pour ton aide , c'était bien ça !
Mouvement n'utilisera de toute façons jamais Camera, donc ça ira comme ça, merci pour l'info au passage.
Franchement, je n'y aurais jamais pensé... Heureusement que j'ai posé la question
Citation : Pourquoi l'inclues-tu dans lui-même? |
J'essayais un peu au hasard
Marsh Posté le 18-12-2007 à 16:24:43
Bah des fois ça marche et ça évite de passer 2h pour une bêtise
(Même si sur ce coup c'était loupé )
Marsh Posté le 18-12-2007 à 16:55:22
Rappel: Garcimore n'est effectivement pas connu pour ses programmes
Marsh Posté le 18-12-2007 à 17:20:45
Upsilon a écrit : Bah des fois ça marche |
ca ne amrche pas, par contre ca montre bien que tu pipe rien à ce que tu écris (:o)
Marsh Posté le 18-12-2007 à 18:30:43
Je ne dis pas que programmer au hasard est une solution... Ce que je dis c'est que pour les détails techniques genre syntaxe ou autre il est parfois plus simple d'essayer plusieurs possibilités que de se farcir 2 pages de doc
Marsh Posté le 18-12-2007 à 18:38:32
Non. Parce que ton erreur tu la referas sans cesse, et crois moi l'alignement des planètes ne joue pas en ta faveur.
Le forum n'est pas là pour t'éviter de te farcir 2 pages de doc, mais plutôt pour qu'on (essaie) de t'aiguiller dans la bonne direction et lire les bonnes choses; ce qui implique pas mal de travail personnel malgré tout.
Marsh Posté le 18-12-2007 à 19:05:33
Upsilon a écrit : Je ne dis pas que programmer au hasard est une solution... Ce que je dis c'est que pour les détails techniques genre syntaxe ou autre il est parfois plus simple d'essayer plusieurs possibilités que de se farcir 2 pages de doc |
Un jour normal, je t'aurais dit d'aller mourir.
C'est un jour normal :|
Marsh Posté le 18-12-2007 à 20:59:22
Citation : Le forum n'est pas là pour t'éviter de te farcir 2 pages de doc |
Je précise juste que je n'ai pas utilisé le forum dans ce but et que si j'ai posé la question c'est justement parce que je ne savais pas dans quelle direction chercher le problème.
Sur ce, bonsoir
Marsh Posté le 18-12-2007 à 15:23:08
Bonjour ! J'ai un problème, probablement une bêtise, mais dont je ne vois vraiment pas la solution...
J'ai une classe Mouvement définie comme ceci :
Et une classe Camera :
Malheureusement, le compilateur semble ignorer superbement la classe Mouvement, et me gratifie de ceci :
Je ne pense pas (??) que l'erreur soit liée au template puisque si j'enlève la ligne QStack<Mouvement> mouvements; et que je la remplace par un simple Mouvement essai; pour voir, j'obtiens :
Voilà. Est-ce que quelqu'un à une idée ? Merci d'avance
Message édité par Upsilon le 18-12-2007 à 16:15:39