Salve, nell'implementare la classe lista sto riscontrando l'errore "expected initializer before '<' token". il codice è il seguente
MAIN.CPP
#include <iostream>
#include "lista.h"
using namespace std;
int main()
{
Lista <int> L;
L.crea();
return 0;
}
LISTA.H
#ifndef LISTA_H_INCLUDED
#define LISTA_H_INCLUDED
#include "cellalista.h"
#include <iostream>
using namespace std;
template <class T> class Lista{
public:
typedef T Tipoelem;
/** OPERATORI **/
void crea();
bool vuota();
/** FUNZIONI DI SERVIZIO **/
void stampa();
void epurazione();
};
#endif // LISTA_H_INCLUDED
template <class T> void Lista <T>::crea(){
cout << "Prova" << endl;
}
CELLALISTA.H
#ifndef CELLALISTA_H_INCLUDED
#define CELLALISTA_H_INCLUDED
#include "lista.h"
typedef int Tipoelem;
template <class T> class CellaLista{
public:
void setElemento(Tipoelem);
Tipoelem getElemento();
void setNext(CellaLista*);
CellaLista* getNext();
private:
Tipoelem valore;
CellaLista* next; // puntatore a oggetto Cella
};
#endif // CELLALISTA_H_INCLUDED
quando provo a compilare mi dice che alla riga dove implemento la funzione "crea" manca qualcosa prima della parentesi uncinata aperta ' < ', non capisco il perché
questo avviene solo quando aggiungo anche il secondo header file cellalista.h, se non uso quello (che però mi serve) mi dà quell'errore