Sto definendo una classe con template; all'interno di questa ci sarà una struct; vorrei che un metodo avesse come valore di ritorno la struct,ma mi da molti errori:
Sono sicuro che l'errore risiede nella sintassi del metodo, infatti se elimino il metodo la classe funziona...template <class T>
class Albero{
public:
static const int NIL = 0;
static const int ROOT=-1;//la radice sarà identificata tramite il valore -1 nel padre
typedef T tipoelem;
typedef Figlio* pos;
typedef int posV;
struct cella{
tipoelem elemento;
pos lFigli;
bool assegnato;
posV posPadre;
};
//typedef cella Cella;
Albero();//sc
Albero(int);//sc
//~Albero;
//albero con obj
void creaAlbero();//sc
bool alberoVuoto();//sc
void insRadice(posV);//sc
posV radice();//sc
posV padre(posV);//sc
bool foglia(posV);//sc
posV primoFiglio(posV);//sc
bool ultimoFratello(posV);//sc
posV succFratello(posV);//sc
void scriviNodo(posV,tipoelem);//sc
tipoelem leggiNodo(posV);//sc
cella getNodo(posV);
int getMAXLEN();
private:
cella *Nodi;
int MAXLEN;
posV cercaLib();//non è meglio metterla public???
pos trovaFratello(posV);
};
template<class T> cella Albero<T>::getNodo(posV p){
return (Nodi[p]);
}
Devo per forza definire la struct come un nuovo oggetto?Vi prego aiutatemi sto impazzendo...