Identificateur inconu
fbl07
-
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"
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
-
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 -
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 -
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. -
Est-ce que tu pourrait être plus claire parce que chus nul avec les classes. j'men suis jamais servis
FBL07-
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.
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -