Buongiorno a tutti ho un piccolo problema con del codice che sto sviluppando. Sto cercando di realizzare un hash table con chaining e ho un piccolissimo problema che a me sta facendo uscir di testa.
In pratica inizialmente avevo organizzato tutte le mie classi dichiarando intestazione dei metodi e corpo del codice tutto insieme, in seguito volendo organizzare meglio il codice ho deciso di usare gli scope :: e quindi scrivere i corpi dei metodi apparte. Cosa strana è che codice identico mi da errore su un return. Vi posto il codice in questione cosi magari potete darmi una mano, vi ringrazio tantissimo!!!

codice:
class Elemento { 
private: 
int key; 
string vocabolo; 
string value; 
Elemento *next; 
public:
Elemento *getNext(); 
};

Elemento::Elemento *getNext() 
{
 return next;
 }
Ovviamente vi ho postato solo il metodo in questione gli altri li ho omessi!

L'errore in questione è il seguente:
|In function 'Elemento* getNext()':|
|53|error: 'next' was not declared in this scope|
||=== Build finished: 1 errors, 0 warnings ===|

Ma la cosa strana è che se organizzo il codice in modo diverso, nel senso se scrivo tutto il corpo del metodo direttamente sopra tutto insieme nn mi da problemi, e poi è strano che nn trova next, l'ho dichiarata chiaramente sopra.
HELP ME!!!