Originariamente inviato da PeppePes88
codice:
template < class TIPO> class Albero_generico{
struct nodo {
TIPO info;
nodo * figlio;
nodo *fratello;
};
typedef struct nodo * nodo_ptr;
nodo_ptr root;
void del(nodo_ptr&);
nodo_ptr find (const nodo_ptr&, const TIPO&);
public:
Albero_generico();
bool inserisci_figlio(const TIPO&, const TIPO&);
~Albero_generico();
nodo_ptr p ();
};
template <class TIPO>
Albero_generico<TIPO>::nodo_ptr
Albero_generico<TIPO>:: find( const nodo_ptr& tree , const TIPO){}
Io stavo inziando a scrivere la classe albero generico cosi ma quando scrivo la find mi da il seguente errore:
error: expected constructor, destructor, or type conversion before 'Albero_generico'
Mi potete aiutare???
il problema secondo me peppepes88 è che te nn ci capisci una minchia!!!!
AHHAHAHAHA peppe so zu ste...

anche tu qua vedo 
cmq io nn non lo sto facendo in quel modo...ma completamente diverso...guarda qua l'inzio dell'albero..
codice:
/// @brief Classe base per le operazioni fondamentali del linguaggio.
///
/// La classe implementa la struttura base dell' albero sintattico insieme
/// alle operazioni principali del linguaggio : operatore binario (più e meno),
/// operatore unario e moltiplicazione.Si andrà ad appoggiare alla classe TExpression
/// per il riconoscimento delle espressioni più complesse e la generazione della totalità
/// dell'albero.
class TreeNode
{
protected:
TreeNode() {};
public:
virtual ~TreeNode() {};
virtual float eval() = 0;
};
e poi per esempio l'operatore unario sarà...
codice:
class UNOP : public TreeNode
{
protected:
TreeNode *operand;
UNOP ( TreeNode *o) : operand( o ) {}
~UNOP()
{
delete operand;
}
};
e in particolare l'operatore ++x sarà :
codice:
///
/// Classe operatore unario prefisso ' ++x ' che in ingresso prende un nodo concernente un value oppure
/// un' operazione ulteriore.
class UNPP : public UNOP
{
public:
UNPP ( TreeNode *op ) : UNOP ( op ) {};
float eval()
{
return ( operand->eval() + 1 );
}
};
così devi fare per tutti gli altri operatori...
questo è il costruttore degli operatore e ei nodi...poi devi fare il parser che riconosci operatori e blabblabla...