scusate ma finito la codifica della prova il compilatore ha iniziato a darmi i seguenti errori: no matching function for call to 'Coda<char>::Coda(Coda<char>)' candidates are Coda<T>::Coda(Coda<T>&) [with T = char]
questo errore nella linea
Coda<char> c = es.acquisisciElementoTastiera();
credo che sia un problema riferito al costruttore di copia ma non so che fare. qualcuno i puo dare una mano. grazie anticipatamente...
innanzitutto definisci acquisisciElementoTastiera() come static in modo da nn dover creare l'oggetto es (sto supponendo che la riga che hai specificato sia nel main e qiundi l'oggetto es sia un'istanza di un'altra classe). Dopodichè nell'interfaccia del metodo acquisisciElementoTastiera() specifica che esso ritorna UN PUNTATORE all'oggetto coda, così:
static Coda<char>* acquisisciElementoTastiera();
Nella procedura di main, se hai fatto bene gli #include, potrai richiamare il metodo in questo modo:
Coda<char> c = acquisisciElementoTastiera();
Naturalmente, nel corpo di acquisisciElementoTastiera() ti occorrerà una coda di appoggio da costruire e riempire al momento. Al return passerai direttamente la coda di appoggio, così:
Coda<char> acquisisciElementoTastiera() { Coda<char> a; // LETTURA DA TASTIERA E COSTRUZIONE CODA ... // CODA RIEMPITA CORRETTAMENTE return a; }
Spero di esserti stato d'aiuto...
------------------------------------------------------------------------ SoFtIcE '86 ..:: Spreading an eclipse ::..
grazie mille a tutti quanti ma la prima risp e stata la migliore. infatti non avevo dichiarato nel costruttore di copia che la coda da passare doveva essere "const" e mi dava quell'errore. pero adesso ho risolto. grazie ancora a tutti.