Identificateur inconu

fbl07 -  
 fbl07 -
Bonjour,

J'ai écris un programme en c++ avec plusieurs fonctions, mais il me cause problème.
Si je met la fonction main() avant les autres la compilation me dit le nom des autres fonction puis dit "identificateur inconnu". si je mais la fonction main() après le autres, c'est la main() qui est marqué "identificateur inconnu"

5 réponses

Siluni
 
Revoit ta programmation, une classe ne peut en appeler une autre si elle n'est pas déjà réferencer

Sinon il te manque des INCLUDE
0
fbl07
 
Le problème c'est comment référencer une classe sans qu'il dise que l'autre ne l'est plus :

si je fait :

Main(){...autre();...}
autre(){...Main();...}

ça dit que "autre" est inconnu

si je fait:

autre(){...Main();...}
Main({...autre();...}

ça dit que c'est "Main" qui est inconnu
0
loupius Messages postés 789 Statut Membre 148
 
Problème classique qui se résoud par la déclaration de classe. Exemple:

class Classe2;

class Classe1
{
  ...
  Classe2* classe2;
  ...
};

class Classe2
{
  ...
  Classe1* classe1;
  ...
};

La seule chose qui soit exclue est évidemment la création d'objet de la classe Classe2 avant qui celle-ci soit définie.
Bonne continuation.
0
fbl07
 
Est-ce que tu pourrait être plus claire parce que chus nul avec les classes. j'men suis jamais servis

FBL07
0
loupius Messages postés 789 Statut Membre 148
 
Mets-toi à la place du compilateur: Lorsqu'il rencontre la ligne 'Classe2* classe2;', il faut bien qu'il sache ce qu'est 'Classe2'; c'est la raison pour laquelle 'Classe2' doit au moins être déclarée comme étant, dans cet exemple, une classe. Mais il est évident que la déclaration ne suffit pas pour instancier un objet, il est nécessaire que la classe de cet objet soit définie, afin que le compilateur sache, entre autre, à quel constructeur il doit faire appel.
Bonne réflexion.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fbl07
 
ça ne répond pas à ma question. comment rêgler le problème avec des fonction
0