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
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.hh
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
 
class Shape;
 
void plot(Shape const& s);
-plot.cc
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)
{
...
}
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’.
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 ?