Curso 2024/2025
Esto son ejemplos de errores cometidos por estudiantes. Piensa qué es lo que está mal.
bool Cola::buscar(int dato) const { return buscar(dato, primero); } bool Cola::buscar(int dato, Nodo * n) const { if (n->dato == dato) return true; if (n == nullptr) return false; return buscar(dato, n->siguiente); }
No se puede acceder a n->dato
si n
vale nullptr
!!!!!
bool Cola::buscar(int dato) const { return buscar(dato, primero); } bool Cola::buscar(int dato, Nodo * n) const { if (n->dato == dato) return true; if (n->siguiente == nullptr) return false; return buscar(dato, n->siguiente); }
Si la cola está vacía, primero
vale nullptr
y falla al acceder a n->dato
.
bool Cola::buscar(int dato) const { return buscar(dato, primero); } bool Cola::buscar(int dato, Nodo * n) const { if (n == nullptr) return false; if (n->dato == dato) return true; buscar(dato, n->siguiente); }
Falta un return
para propagar el resultado.