cs_gorby69
Messages postés48Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention10 février 2006
-
10 nov. 2004 à 12:16
cs_gorby69
Messages postés48Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention10 février 2006
-
10 nov. 2004 à 13:35
Bonjour,
J'utilise DEV C++ et j'ai un petit problème de déclaration.
J'ai une classe "noeud" dans laquelle j'instancie une structure "liaision".
Le problème c'est que dans ma structure j'ai un int et justement un noeud.
Après moultes essais et déclarations de prototypes j'ai toujours un problème de déclaration.
Je pense qu'il faut déclarer un prototype de la classe mais je dois me planter.
Voici mon code:
#include
#include <stdlib.h>
class noeud{};
struct liaison{noeud N;int C;};
class noeud{
char *ne;
int cpt_tab_li;
//Tableau pour stocker les liaisons aux autres noeuds
liaison *tab_li[10];
public:
//Constructeur
noeud(char *nom){
int i;
ne=nom;cpt_tab_li=0;
for(i=0;i<10;i++){tab_li[i].N=NULL;tab_li[i].C=0;}
}
//Renvoi le nom du noeud
char *get_ne(){return ne;}
//Fonction d'affichage
void affiche(){
int i;
cout<<"Nom du noeud: "<<ne<<"\n";
cout<<"Dependances vers: ";
for(i=0;i<10;i++){if(tab_li[i]!=NULL){cout<<tab_li[i].N->get_ne()<<" ";}}
cout<<"\n\n";
}
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 10 nov. 2004 à 12:28
dans la casse noeud, tab_li doit être un tableau simple de liason (pas la peine de faire un tableau de pointeur mais c'est possible):
liaison tab_li[10];
dans la structure liaison, il faut un pointeur sur un noeud :
struct liaison
{
noeud* N;
int C;
};
comme la classe noeud est définie après, il faut faire une prédéclaration de la classe avant la structure liaison :
class noeud;
dans la fct affichage, il faudra tester le membre N de la structure liaison et appeler la fct get_ne si non NULL
cs_gorby69
Messages postés48Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention10 février 2006 10 nov. 2004 à 12:37
Merci!
En fait je déclarais mon prototype avec les accolades: class noeud{};
Les autres erreurs résulataient du fait que je stockais directement mes noeuds dans mon tableau tab_li avant de créer une structure et j'avais pas encore finis de modifier mon code...