Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [c++]struct e passaggi di parametri

    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:

    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]);
    }
    Sono sicuro che l'errore risiede nella sintassi del metodo, infatti se elimino il metodo la classe funziona...
    Devo per forza definire la struct come un nuovo oggetto?Vi prego aiutatemi sto impazzendo...

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    codice:
    template<class T> 
    typename Albero<T>::cella  Albero<T>::getNodo(posV p){

  3. #3
    funziona...grazie 1000, te ne sono grato!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.