Ciao a tutti...Per esercizio sto realizzando una classe per la gestione di una lista concatenata con sentinella. Sto avendo dei problemi nella costruzione del costruttore di copia.
Ecco il file header
codice:#include "Nodo.h" #include <iostream> template<typename Tipo> class Lista { private: Nodo<Tipo>* InizioLista; Nodo<Tipo>* Current; public: Lista(); Lista(const Lista<Tipo> &lista); bool ListaVuota(); bool FineLista() const; int DimensioneLista(Lista<Tipo>* = NULL); int PosizioneCursore(Lista<Tipo>* = NULL); void InserisciInCoda(Tipo, Lista<Tipo>* = NULL); void InserisciInPosizione(Tipo, int, Lista<Tipo>* = NULL); void Ordina(bool = true, int = 0, int =-1); template<typename T> friend void QuickSort(int, int); Tipo LeggiElemento(int); void ScriviElemento(int, Tipo); void StampaElementi(); Lista<Tipo> FusioneLista(Lista<Tipo>); void Next(); void Prev(); void Rewind(); };
Questa è lo sviluppo del costruttore
L'errore riportato invece (e che cercando come un forsennato in rete riportando anche la dicitura completa non sono riuscito a risolvere) è il seguente:codice:template<typename Tipo> Lista<Tipo>::Lista(const Lista<Tipo>& lista) { int i = 0; this->InizioLista = new Nodo<Tipo>(NULL,NULL,NULL); this->Current = this->InizioLista; while(!lista.FineLista()) this->InserisciInCoda(lista.LeggiElemento(i++)); }
codice:passing 'const Lista<int>' as 'this' argument of 'Tipo Lista<Tipo>::LeggiElemento(int) [with Tipo = int] discards qualifiers [-fpermissive]
Questo errore me lo da anche per la funzione FineLista....
Grazie dell'aiuto!

Rispondi quotando