Bonjour à tous,
Après avoir codé une classe shape, j'ai écrit dans un autre fichier source des fonctions qui permettent d'afficher ces shapes. Je souhaiterai qu'il y ait un lien d'amitié entre les fonctions d'affichage et la classe shape.
J'ai donc fait la chose suivante :
-shape.hh
-plot.hh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include "plot.hh" class Shape { .... friend void plot( Shape const& s); .... };
-plot.cc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class Shape; void plot(Shape const& s);
malgré le fait que dans plot.hh j'ai déclaré la classe Shape j'obtiens comme message d'erreur : invalid use of incomplete type ‘const struct Shape’.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "plot.hh" void plot(Shape const& s) { ... }
Ce message est du au fait que j'utilise dans la fonction plot un acces direct aux attributs de s. Pourtant ma fonction plot est amie à la classe shape.
Pouvez-vous m'aidez svp ?
Partager