ciao a tutti, ho implementato la struttura dati insieme rappresentandolo con una lista di puntatori. dopo di chè ho fatto un test per provare se i metodi sono corretti però, dato che la libreria della lista è situata in un'altra cartella, mi viene visualizzato un errore di compilazione. in pratica non viene inserita la libreria nel codice. posto i codici.

insiemel.h
codice:
#ifndef insiemel_h
#define insiemel_h

#include<iostream>
#include<stdlib.h>
#include "listap.h"

using namespace std;

template<class tipoelem>
class insiemel
{
   public:
      insiemel();
      
      void creainsieme();
      bool insiemevuoto();
      bool appartiene(tipoelem);
      void inserisci(tipoelem);
      void cancella(tipoelem);
      void unione(insiemel, insiemel);
      void intersezione(insiemel, insiemel);
      void differenza(insiemel, insiemel);
      
      tipoelem getelem();
   private:
      listap<tipoelem> elementi;
};
#endif

template<class tipoelem>
tipoelem insiemel<tipoelem>::getelem()
{
   return(elementi.leggilista(elementi.primolista());
}

template<class tipoelem>
insiemel<tipoelem>::insiemel()
{
   this->creainsieme();
}

template<class tipoelem>
void insiemel<tipoelem>::creainsieme()
{
   elementi = NULL;
}

template<class tipoelem>
bool insiemel<tipoelem>::insiemevuoto()
{
   return(elementi.listavuota());
}

template<class tipoelem>
bool insiemel<tipoelem>::appartiene(tipoelem elem)
{
   bool trovato = false;
   listap<tipoelem>::posizione p = elementi.primolista();
   while((p != elementi.preclista(elementi.primolista())) && !trovato)
   {
      if(elementi.leggilista(p) == elem)
         trovato = true;
      else
         p = elementi.suclista(p);
   }
   return trovato;
}

template<class tipoelem>>
void insiemel<tipoelem>::inserisci(tipoelem elem)
{
   if(!this->appartiene(elem))
      this->inserisci(elem);
}

template<class tipoelem>
void insiemel<tipoelem>::cancella(tipoelem)
{
   bool trovato = false;
   listap<tipoelem>::posizione p = elementi.primolista();
   while((p != elementi.preclista(elementi.primolista())) && !trovato)
   {
      if(elementi.leggilista(p) == elem)
      {
         trovato = true;
         elementi.canclista(p);
      }
      else
         p = elementi.suclista(p);
   }
}

template<class tipoelem>
void insiemel<tipoelem>::unione(insiemel<tipoelem> A, insiemel<tipoelem> B)
{
   while(!A.insiemevuoto())
   {
      this->inserisci(A.getelem());
      A.cancella(A.getelem());
   }
   while(!B.insiemevuoto())
   {
      this->inserisci(B.getelem());
      B.cancella(B.getelem());
   }
}

template<class tipoelem>
void insiemel<tipoelem>::intersezione(insiemel<tipoelem> A, insiemel<tipoelem> B)
{
   while(!A.insiemevuoto())
   {
      if(B.appartiene(A.getelem())
         this->inserisci(A.getelem());
      A.cancella(A.getelem());
   }
}

template<class tipoelem>
void insiemel<tipoelem>::differenza(insiemel<tipoelem> A, insiemel<tipoelem> B)
{
   while(!A.insiemevuoto())
   {
      if(!B.appartiene(A.getelem()))
         this->inserisci(A.getelem());
      A.cancella();
   }
}
testinsiemel.cpp
codice:
#include "insiemel.h"
#include<iostream>
#include<stdlib.h>

using namespace std;

int main()
{
   insiemel<int> set;
   
   system("pause");
   return 0;
}
premesso che ho fatto la procedura dell'inserimento della libreria della lista, l'errore che mi viene visualizzato è il seguente:

6 C:\Dev-Cpp\Insieme\insiemel.h listap.h: No such file or directory.

cosa c'è che non va?