Bonjour a tous,
Voici mon problème :
Dans ma bibliothèque "sylib.h":
Dans "menu.cpp":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #... class menu { public: static void entete(void); static void menu1(void); } class tube { public: void montrer_tube(void); private: //données tube }
Dans "tube.cpp":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 inline void menu::entete() { // mon entete } void menu::menu1() { menu::entete(); //ne pose aucun problème //contenu menu1 ... }
J'ai défini chaque fonctions dans exactement un fichiers source (tube.cpp pour la classe tube et menu.cpp pour la classe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void tube::montrer_tube() { menu::entete(); //Error : Unresolved external... //affichage des careactéristiques du tube ... }
menu) (cf faq c++).
J'ai essayé de sortir entete de la classe menu ( void entete(void); ) et de définir normalement dans menu.cpp :
void entete void()
{...}
mais j'ai toujours la meme erreur:
*)
Dans "tube.cpp":
J'ai lu : "Attention, les fonctions static sont des fonctions dont la portée n'est que dans le fichiers où elles se trouvent." et en effet je ne peux utiliser menu::entete(); que dans menu.cpp où elle est définie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void tube::montrer_tube() { entete(); //Error : Unresolved external... //affichage des careactéristiques du tube ... }
Mais ça devrait être différent pour la simple fonction entete(); ( cf *) ).
Je ne peux pas non plus appeller dans l'ordre
tube mon_tube
menu::entete(); //ou entete();
mon_tube.montrer_tube();
dans mon programme principal.
Je voudrais afficher l'entete avant d'afficher le tube, mais je n'y arrive pas et je tourne en rond.
Il doit y avoir une astuce simple, pourriez vous me dire comment faire svp?
Partager