Ciao a tutti!
Ho un problema che non riesco a risolvere,spero davvero che possiate aiutarmi. Ho creato una struttura dati pila con vettore. Ma quando compilo mi dà sempre questo errore: "Circular pilavet <- pilavet.o dependency dropped. creating pilavet.a No such file." Sarò grato a chi mi darà una mano! Eccovi il codice:
pila.h
pilavet.hcodice:#ifndef pila_h #define pila_h #include <iostream> using namespace std; template <class tipoelem> class pila { public: virtual void creapila()=0; virtual bool pilavuota()=0; virtual tipoelem leggipila()=0; virtual void fuoripila()=0; virtual void inpila(tipoelem)=0; }; #endif
codice:#ifndef pilavet_h #define pilavet_h #include <iostream> #include <stdlib> #include "pila.h" #include "nodopila.h" using namespace std; const int maxlung=100; template <class tipoelem> class pilavet: public pila<tipoelem> { typedef typename pilavet<tipoelem>::nodopila<tipoelem> nodo; public: pilavet(); pilavet(int); void creapila(); bool pilavuota(); tipoelem leggipila(); void fuoripila(); void inpila(tipoelem); private: nodo pilap[maxlung]; int testa; int dimpila; } #endif template <class tipoelem> //COSTRUTTORE CON DIM FISSA pilavet<tipoelem>::pilavet() { dimpila=maxlung; creapila(); } template <class tipoelem> //COSTRUTTORE CON DIM IN INPUT pilavet<tipoelem>::pilavet(int dimensione) { dimpila=dimensione; creapila(); } template <class tipoelem> //CREAPILA pilavet<tipoelem>::creapila() { testa=0; } template <class tipoelem> //PILAVUOTA bool pilavet<tipoelem>::pilavuota() { return (testa==0); } template <class tipoelem> //LEGGIPILA tipoelem pilavet<tipoelem>::leggipila() { if (testa != 0) return (pilap[testa-1].leggielem() ); } template <class tipoelem> //FUORIPILA void pilavet<tipoelem>::fuoripila() { if (!pilavuota()) testa= testa-1; else cout<<"La pila e' vuota\n"; } template <class tipoelem> //INPILA void pilavet<tipoelem>::inpila (tipoelem elem) { if (testa==maxlung) cout<<"Non ci sono spazi liberi\n"; else { pilap.scrivielem(elem); testa++; } }