[ Foro de C++ ]

Hola! Estoy haciendo una tarea y me marca un erro en la linea 41 (Nodo *aux1 = Lista;) diciendo que "Lista" no está declarada en ese espacio, pero no logro solucionarlo ¿Pueden ayudarme?

05-Feb-2022 04:10
Invitado (Yopi)
1 Respuestas

//Insertar un elemento en una lista enlazada

#include<iostream>
#include<conio.h>
using namespace std;

struct Nodo{
int dato;
Nodo *siguiente;
};


void insertarlista(Nodo *&,int);

int main(){
Nodo *lista = NULL;

int dato;


cout<<"digite un numero: ";
cin>>dato;
insertarlista(lista,dato);

cout<<"digite un numero: ";
cin>>dato;
insertarlista(lista,dato);

cout<<"digite un numero: ";
cin>>dato;
insertarlista(lista,dato);

getch();
return 0;
}

void insertarlista(Nodo *&,int n){
Nodo *nuevo_nodo = new Nodo();
nuevo_nodo->dato= n;

Nodo *aux1 = Lista;
Nodo *aux2;

while((aux1 != NULL)&&(aux1->dato < n)){
aux2= aux1;
aux1= aux1->siguiente;
}

if( lista == aux1){
lista = nuevo_nodo;
}
else{
aux2->siguiente = nuevo_nodo;
}

nuevo_nodo->siguiente = aux1;

cout<<"\tElemento"<<n<<"insertado a la lista correctamente\n";
}


06-Feb-2022 20:51
Nacho Cabanes (+82)

Efectivamente, en la línea "Nodo *aux1 = Lista;" estás hablando de un tal "Lista" que no existe en ningún sitio.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)