Scusa è vero hai ragione.
Non ho specificato niente.
Allora sto implemantando un albero binario di ricerca in c++.
Oltre ai solito metodi(add, search, remove ecc) che funzionano, devo fare il metodo della visita postOrder(o anche inOrder o preOrder a scelta).
Ho scelto la postOrder.

Ho fatto la classe const_iterator con i relativi metodi per poter utilizzare l'iteratore.

Chiusa la classe const_iterator ho fatto:

codice:
const_iterator begin() const{
			return const_iterator(root);
		}

		const_iterator end() const{
			while(true){
				root = root.right;
			}
			return const_iterator(root);
		}
		
		template <class T> void visitaPostOrder(Node<T>* nodo, const_iterator i){
			visitaPostOrder(nodo, i--);
			visitaPostOrder(nodo, i++);
			cout << nodo->key << endl;
		}

nel main invece come test per la visita lo faccio in questo modo
codice:
template <class T> void visitaAlbero_Const(AlberoBinario<T> &nodo){
	  typename AlberoBinario<T>::iterator postOrder = postOrder = albero.begin();
	  while(postOrder != albero.end()){
		cout << *postOrder << endl;
		postOrder++;
	  }
Grazie per l'aiuto!