Código C++:
Ver original
template <class T> nodo<T>* lista<T>::Anterior(nodo<T>* x) { nodo<T> *anterior,*p; anterior=p=primero; if(x == primero){ return 0; }else { while(p->getSiguiente() != NULL && p->getSiguiente() != x){ anterior=p; p=p->getSiguiente(); } return anterior; } }
pero cuando lo pruebo y pido el anterior de un objeto siempre me da el primero y no entiendo porque, agradecería mucho su pronta respuesta.