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
codice:
#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
pilavet.h
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++;
}
}