ciao a tutti, sto creando la struttura lista con il vettore, quando testo il metodo leggilista, che dovrebbe restituire il valore dell'array in posizione fornita come argomento, mi dà errore. second me è un capriccio del compilatore di cacca che sto utilizzando (il dev) perchè a me dà errore al mio amico va bene, eppure i metodi sono fatti in modo identico.
posto i codici:
listavet.h
testlistav.cppcodice:#ifndef listav_h #define listav_h #include <iostream> #include <stdlib.h> using namespace std; const int dimvet = 100; template<class tipoelem> class listav { public: typedef int posizione; listav(); void crealista(); bool listavuota(); posizione primolista(); bool finelista(posizione); tipoelem leggilista(posizione); /*void scrivilista(posizione, tipoelem); posizione succlista(posizione); posizione predlista(posizione); void inslista(posizione, tipoelem); void canclista(posizione);*/ private: tipoelem vetlista[dimvet]; int lunglista; }; #endif template<class tipoelem> listav<tipoelem>::listav() { this->crealista(); } template<class tipoelem> void listav<tipoelem>::crealista() { for(int i = 0; i < dimvet; i++) { vetlista[i] = 0; } lunglista = 0; } template<class tipoelem> bool listav<tipoelem>::listavuota() { return(lunglista == 0); } template<class tipoelem> typename listav<tipoelem>::posizione listav<tipoelem>::primolista() { return(1); } template<class tipoelem> bool listav<tipoelem>::finelista(typename listav<tipoelem>::posizione pos) { return((lunglista == (dimvet - 1)) || (pos == lunglista)); } template<class tipoelem> tipoelem leggilista(typename listav<tipoelem>::posizione pos) { return(vetlista[pos]); }
l'errore visualizzato è il seguente:codice:#include "listav.h" #include <iostream> #include <stdlib.h> using namespace std; int main() { listav<int> list; cout << list.listavuota() << "\n\n"; cout << list.primolista() << "\n\n"; cout << list.finelista(0) << "\n\n"; cout << list.leggilista(0) << "\n\n"; system("pause"); return 0; }
72 C:\Dev-Cpp\esercizi\listav.h `vetlista' undeclared (first use this function)
perchè mi dà questo errore dato che vetlista è dichiarato nella classe???

Rispondi quotando