Posto solo le parti di codice interessate: ho una prima struct Impiegato dove l'unico costruttore che definisco ha dei parametri:
e altrove ho una funzione che prende un parametro di tipo Impiegato per riferimento costante:codice:struct Impiegato { Impiegato( /* parametri */ ) { } };
Quest'ultima riga causa un errore di compilazione che dice di non trovare il costruttore senza argomenti di Impiegato (giusto, non l'ho definito). Ma perché è necessario fornirlo per usare la relativa struct come tipo di un parametro?codice:funzione(const Impiegato& i) { }
Nel mio caso l'ho volutamente omesso perché non mi sembrava sensato un Impiegato senza nome, cognome e altri dati (tutte cose per le quali non esiste un "valore di default"), ma oltre a questo vorrei sapere il perché di questa necessità.
Devo per forza usare i puntatori?
Ho cercato sul web e sul forum ma non ho trovato nulla, forse cerco le parole sbagliate.
Grazie.