Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
In un classico esercizio di informatica devo implementare una classe "albero binario di ricerca" assegnando un nodo sentinella ai figli delle foglie dell'albero anzichè NULL, il problema è che il nodo sentinella dovrebbe essere condiviso da tutte le istanze della classe, dunque statico, ma non riesco ad inizializzarlo e non capisco dov'è che sbaglio:
nico@nicoLaptop:~$ make ./Documents/C++/Tree/main
g++ Documents/C++/Tree/main.cpp -o Documents/C++/Tree/main
In file included from Documents/C++/Tree/main.cpp:1:
Documents/C++/Tree/BinaryTree.h:240: error: expected constructor, destructor, or type conversion before 'Tree'
make: *** [Documents/C++/Tree/main] Error 1
Qualcuno può aiutarmi? Grazie mille.
Nico
Ultima modifica di N1cuz il lun 15 dic 2008, 10:18, modificato 1 volta in totale.
ciao
come suggerito da gcc l errore sta nella mancanza di un costruttore
dovresti aggiungere nel campo public di tree un membro tipo
tree(lista di argomenti per inizializzare le variabili)
Toni ha scritto:ciao
come suggerito da gcc l errore sta nella mancanza di un costruttore
dovresti aggiungere nel campo public di tree un membro tipo
tree(lista di argomenti per inizializzare le variabili)
Il costruttore l'ho fatto, non l'ho scritto nel post perchè lo davo per scontato...
Ti posto quello dell' albero binario, tanto anche sull'albero RB il problema è il solito, se non uso la sentinella viene compilato non sono riuscito a capire dov'è l'errore:
414N ha scritto:Perchè incorpori la definizione della struttura nodo dentro l'albero?
... e perchè non dovrei?
Per una questione di separazione del codice. Mantenendola all'interno di Tree risulta anche poco estensibile.
Ovviamente di questo ti importa poco se è un esercizio fine a sé stesso.
Ok, siamo d'accordo, avrei potuto fare una classe nodo base da cui derivare nodi specializzati per ogni utilizzo (con campi aggiuntivi come "color" per alberi rb, "rank" per alberi di selezione e così via...), ma non ti pare esargerato per fare un semplice esercizio? In questo modo faccio prima (ed è sufficiente per lo scopo) con una struttura ad hoc implementata nella classe.
P.S.
In generale la tua critica è più che corretta!