Bonjour,
J'ai un petit problème avec une classe virtuelle...
Voici le .h de la classe virtuelle :
Une autre classe qui l'utilise :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #ifndef COLLISIONNABLE_H #define COLLISIONNABLE_H #include <SFML/Graphics.hpp> #include "QuadTreeNode.h" class Collisionnable { public: // Retourne les coordonnées du point haut gauche et bas droite de l'objet collisionnable virtual sf::FloatRect getBounds () const = 0; /*void setQuadTreeNode (QuadTreeNode *node); QuadTreeNode* getQuadTreeNode (); QuadTreeNode *m_Node; // Zone du quadtree où se trouve l'objet*/ }; #endif // COLLISIONNABLE_H
Ça ne compile pas, il me fait une erreur dans la classe QuadTreeNode, il me dis que Collisionnable n'est pas déclaré...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 #ifndef QUADTREENODE_H #define QUADTREENODE_H #include <SFML/Graphics.hpp> #include "Collisionnable.h" #include <vector> class QuadTreeNode { public: QuadTreeNode(QuadTreeNode *parent, sf::FloatRect const& bounds); void addObject (Collisionnable *c); sf::FloatRect getBounds() const; private: QuadTreeNode *m_ParentNode; sf::FloatRect m_Bounds; QuadTreeNode *m_ChildNodes[4]; std::vector<Collisionnable*> m_Objets; }; #endif // QUADTREENODE_H
Si je commente la ligne #include "QuadTreeNode.h" dans le .h de la classe Collisionnable, ça compile, mais du coup je ne peux pas stocker d'objets QuadTreeNode dans ma classe Collisionnable.
Est-ce que vous pouvez m'éclairer svp ?
Merci d'avance
Partager