Bonjour,
J'ai un petit problème avec une classe virtuelle...

Voici le .h de la classe virtuelle :

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
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
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
Ça ne compile pas, il me fait une erreur dans la classe QuadTreeNode, il me dis que Collisionnable n'est pas déclaré...
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