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:
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 #ifndef VISITOR_H_ #define VISITOR_H_ #include "Scene/Node.h" class Visitor { public: Visitor(); virtual ~Visitor(); virtual void visit(Node * p){}; }; #endif /*VISITOR_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.
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 me sort comme erreur:
Cet erreur ne semble pas vraiment clair, en tout cas, pour moi elle ne l'est pas.
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
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
Partager