Struct annidate C++

di il
3 risposte

Struct annidate C++

Buongiorno a tutti!
Vorrei fare una domanda per quanto riguarda le struct su C++.
Devo utilizzare una struct annidata del tipo:
struct squadra{
string nome;
string colore;
struct allenatore{
string nome_allenatore;
int titoli;
};
};
Come faccio a riportarla nel main e in funzione fare l’inserimento delle variabili?
Fino ad ora ho adoperato solo con struct singole non annidate e mi trovo in difficoltà.
Grazie in anticipo per l’aiuto.

3 Risposte

  • Re: Struct annidate C++

    Ciao, purtroppo in una struct annidata cosi, il token "allenatore" esiste soltanto all' interno del blocco struct squadra.

    Per ovviare a questo problema devi definire allenatore fuori da squadra:
    
    struct anagrafica_allenatore{
    string nome_allenatore;
    int titoli;
    };
    
    struct squadra{
    string nome;
    string colore;
    struct anagrafica_allenatore allenatore;
    };
    
    Adesso sul main puoi inizializzare sia una struct squadra che una struct anagrafica_allenatore da poter inserire all'interno di squadra.
  • Re: Struct annidate C++

    Grazie mille ho capito! Ora torna tutto
  • Re: Struct annidate C++

    Puoi anche scrivere
    
    struct squadra {
    	string nome;
    	string colore;
    	struct _allenatore {
    		string nome_allenatore;
    		int titoli;
    	} allenatore;
    };
    
    e quindi
    
    	struct squadra s1 = { "Pippe", "Verde", {"NonToccoPalla", 10} };
    
    	cout << s1.allenatore.nome_allenatore << endl;
    
Devi accedere o registrarti per scrivere nel forum
3 risposte