Je suis nouveau en C++, donc cette question peut être basique:Deux classes qui se réfèrent
J'ai deux classes qui ont besoin de se référer les unes aux autres. Chacun est dans son propre fichier d'en-tête, et # include est le fichier d'en-tête de l'autre. Lorsque j'essaie de compiler, j'obtiens l'erreur "ISO C++ interdit la déclaration de 'Foo' sans type" pour l'une des classes. Si je change les choses pour que l'en-tête opposé soit analysé en premier, j'obtiens la même erreur avec l'autre classe.
Est-il possible en C++ d'avoir deux classes qui ont besoin de références les unes aux autres?
Pour plus de détails: J'ai une classe "App" et une classe "Window". App doit se référer à la fenêtre pour faire la fenêtre. La fenêtre a un bouton qui rappelle App, il a donc besoin d'une référence à App. Si je ne peux pas faire se référer deux classes, y a-t-il une meilleure façon de le mettre en œuvre?
Il convient de noter que les dépendances mutuelles doivent être évitées autant que possible. Serait-il sensé de factoriser la fonctionnalité que les appels de boutons dans l'application dans un objet contrôleur-ISH distinct? –
Je trouve ce problème assez souvent dans mes petits jeux. J'ai un objet World contenant des objets Game qui doivent faire référence à l'objet World, par exemple. Détection de collision. Je n'ai pas trouvé un bon moyen de refactoriser ça. (Et btw, se réveiller une discussion de 7 ans quelque chose pour gagner une sorte de badge) – Johan