Bonjour,

Je veux implémenter le patron "Visiteur" afin de passer au travers de mon arbres.
Deux classes sont présentes: Visitor et Node. Voici leur contenu (seulement les headers):

Visitor:
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
 
#ifndef VISITOR_H_
#define VISITOR_H_
 
#include "Scene/Node.h" 
 
class Visitor
{
public:
	Visitor();
	virtual ~Visitor();
	virtual void visit(Node * p){};
};
 
#endif /*VISITOR_H_*/
Node:
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 NODE_H_
#define NODE_H_
 
#include "Scene/Visitor.h"
 
class Node
{
public:
	Node();
	virtual ~Node();
	void addChild(Node * child);
	virtual void accept(Visitor * visitor){};
 
protected:
	int size;
	Node * childList;
 
};
 
#endif /*NODE_H_*/
Il semble y avoir un problème du fait que j'inclu (#include) Node.h dans Visitor.h et Visitor.h dans Node.h.

Il me sort comme erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
In file included from Scene\/Node.h:4,
                 from Scene\Node.cpp:1:
./Scene/Visitor.h:11: error: variable or field `visit' declared void
./Scene/Visitor.h:11: error: `visit' declared as a `virtual' field
./Scene/Visitor.h:11: error: expected `;' before '(' token
Cet erreur ne semble pas vraiment clair, en tout cas, pour moi elle ne l'est pas.

Tout aide serait apprécié, si je ne suis pas assez clair, faite le moi savoir, j'éclaircirai du mieux que je peux.

Merci à l'avance.

Mat