Cita: void imprimir()// esta es mi función donde mando a imprimir, pero realmente no hace nada, y según yo está bien
{
elemento *q;
while(m!=NULL){
cout<<"\n solo imprimo";
cout<<"\n m"<<q->dato;
}
}
Haste la pregunta. A donde esta apuntando q?
Hasta la siguiente pregunta. Estas en el ciclo while dando vueltas. Cuando va a parar? Cuando m==NULL? Y eso cuando va a suceder si todo el tiempo estas dentro del while?
Como recomendación, trata de ser mucho mas expresivo en el nombre de tus variables. Cosas comoq, m o p, no dicen nada y creeme que un día te podrás evitar un buen dolor de cabeza leyendo el código.
Saludos