Bonjour,

Je suis en train d'implementer une class qui contient un pointer vers une class qui contient un pointer vers cette même class.
A la compilation, j ai une erreur...

Voici les .h de mes classes:

div_day_class.h:
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
#ifndef DIV_DAY_CLASS_H
#define DIV_DAY_CLASS_H

#include "div_year_class.h"
#include <qwt_date.h>
#include <string>

class div_day_class
{
public:
    QDateTime DateQ;
    std::string type = "";
    double value = 0;
    double perf = 0;
    div_day_class *LK_Prev_Div = NULL;
    div_day_class *LK_Next_Div = NULL;
    div_year_class *LK_father_Div_year = NULL; 
    div_day_class();
    div_day_class(QDateTime DateQ_, std::string type_, double Value_);
    ~div_day_class();
};

#endif // DIV_DAY_CLASS_H

div_year_class.h:
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
 
#ifndef DIV_YEAR_CLASS_H
#define DIV_YEAR_CLASS_H
 
#include "div_day_class.h"
 
class div_year_class
{
public:
    std::vector<div_day_class *> list;
    double Div_year_Value=0;
    int length=0;
    div_year_class();
    ~div_year_class();
 
//metode
    static void add(div_day_class & Div_day, std::vector<div_year_class *> & List_Div_Year);
    static void update_perf(std::vector<div_year_class *> & List_Div_Year);
};
 
#endif // DIV_YEAR_CLASS_H
Quand j'essaie de compiler j'ai le message suivant:
div_day_class.h:17: error: 'div_year_class' does not name a type
div_year_class *LK_father_Div_year = NULL;
Est ce quelqu'un a une idée de ce qui ne va pas dans ma déclaration ?
Je pense que c'est lié au fait que dans:
div_day_class.h: il y a #include "div_year_class.h"
et que dans:
div_year_class.h: il y a #include "div_day_class.h"

Et le tout dans des #ifndef ...

Je imagine plus ou moins pourquoi la compilation échoue mais je sais pas comment faire la declaration de mes classes proprement pour corriger le probléme ...
Quelqu'un aurait une idée ?

Merci d'avance.
Dereck