Cerco di mantenere le cose il più possibile locali, quindi metto enumerazioni nell'ambito della classe, anche se sono condivise tra due classi (l'ho messo nella classe che "va meglio" con esso.) Questo ha ha funzionato alla grande, ma di recente ho riscontrato un problema in cui si verifica una dipendenza circolare se inserisco l'enumerazione nell'ambito della classe.Problemi di enum scoping
L'enumerazione diventerà un argomento di costruzione per più classi e la classe in cui si trova (e la classe che ha più senso per essere inclusa) include tali classi. Pertanto, non è possibile utilizzare l'enumerazione come argomento del costruttore per le classi incluse poiché determinerà una dipendenza circolare.
Sarebbe meglio mettere semplicemente questa enumerazione nel proprio file di intestazione, e se sì, dovrei mettere tutte le enumerazioni nel file di intestazione per essere coerenti? Ci sono altre soluzioni a questo problema (che sono logiche)?
hai provato in avanti dichiarazioni? –
Le dichiarazioni di inoltro consentono solo di accedere al nome del tipo. Non puoi accedere all'interfaccia o creare un'istanza o fare qualcosa del genere. – Anonymous