Bonjour,

Je suis débutant en C++ et je suis confronté à quelques problèmes / questions :

Je m'entraine en travaillant sur un projet de jeu-vidéo et son architecture.
Après avoir réfléchis à pas mal de chose, je passe à la pratique, voici donc l'architecture retenu ( Je me suis aidé du tutoriel sur l'architecture d'un jeu-vidéo et de quelques projets trouvés sur internet ) :



Premier problème :
Si je souhaite crée un objet de type bloc j'obtient l'erreur :
error: field `bloc' has incomplete type
J'ai conclu donc que le compilo n'aime pas la façon avec laquelle j'inclus mes fichiers :

Object.hpp
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
26
27
 
/* ---------------------------------------------------------------------
   (c) Hybrix 2007
 
   The standard object.
   --------------------------------------------------------------------- */
 
#ifndef H_OBJECT
#define H_OBJECT
 
#include <iostream>
#include "../math/Vector.hpp" // For physic engine
 
class Bloc;
 
class Object
{
    public:
        // Constructor / Destructor.
        Object();
        ~Object();
 
    private:
      Bloc bloc;
};
 
#endif
Et la classe qui en dérive :
Bloc.hpp
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
 
/* ---------------------------------------------------------------------
   (c) Hybrix 2007
 
   The standard object.
   --------------------------------------------------------------------- */
 
#ifndef H_BLOC
#define H_BLOC
 
#include <iostream>
#include "../Object.hpp"
 
class Bloc : public Object
{
    public:
        // Constructor / Destructor.
        Bloc();
        ~Bloc();
 
        // Move or apply physic on the bloc.
        Vector m_vector;
};
 
#endif
J'ai testé différentes façon pour éviter l'erreur, mais aucune ne fonctionnes.
La classe "Objects" me permet à la base de "rassembler"tous les objets ( la classe n'est pas complète, je fait seulement les bases pour le moment ).


Second problème :
Je vous en fait part dès que le premier sera résolu .


Merci d'avoir pris le temps de me lire.
Hybrix.