Sono nuovo di C++, in modo da questa domanda può essere di base:Due classi che fanno riferimento gli uni agli altri
Ho due classi che hanno bisogno di fare riferimento a vicenda. Ciascuno è nel proprio file di intestazione e # include è il file di intestazione dell'altro. Quando provo a compilare viene visualizzato l'errore "ISO C++ vieta la dichiarazione di 'Foo' senza tipo" per una delle classi. Se cambio le cose così l'intestazione opposta viene analizzata per prima ottengo lo stesso errore con l'altra classe.
E 'possibile in C++ avere due classi che richiedono riferimenti l'una all'altra?
Per ulteriori dettagli: Ho una classe "App" e una classe "Window". L'app deve fare riferimento a Window per creare la finestra. La finestra ha un pulsante che richiama l'app, quindi ha bisogno di un riferimento all'app. Se non posso avere due classi si riferiscono a vicenda, c'è un modo migliore per implementare questo?
Va notato che le reciproche dipendenze dovrebbero essere evitate quando possibile. Avrebbe senso considerare la funzionalità con cui i pulsanti chiamano nell'app in un oggetto ish del controllore separato? –
Trovo questo problema abbastanza spesso nei miei piccoli giochi. Ho un oggetto Mondo contenente oggetti di gioco che devono fare riferimento all'oggetto Mondo per es. Rilevamento delle collisioni. Non ho trovato un buon modo di refactoring. (E btw, svegliando una discussione di 7 anni dovrebbe guadagnarmi una sorta di badge) – Johan