Bonjour,
Voici mon problème:
J'ai une classe abstraite nommée : GraphLayout qui possède la méthode suivante: virtual void placement(Graph &graph) =0;
J'ai une des ses classe filles nommée : StraightLayout qui implémente la méthode ci-dessus.

Dans une 3ème classe, nommée Graph, j'ai en attribut : GraphLayout *layout;
Je peux récupérer ce layout avec getLayout();
Et je souhaite faire dans une de ces méthodes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
GraphLayout* l = this->getLayout();
l->placement(this);
Et là :erreur suivante:

Dans Graph.h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
class GraphLayout;// =>graph.h:20: warning: forward declaration of `struct GraphLayout'
class Graph{...}
Dans Graph.cpp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
l->placement(this); 
//=>graph.cpp:341: warning: invalid use of undefined type `struct GraphLayout'
//graph.cpp:341: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
Pouvez-vous m'aider s'il vous plaît?? Merci beaucoup parce que je ne comprends vraiment pas le problème...