Ciao! Chi mi saprebbe dire come mai non riesco a stampare a video tutti gli elementi della coda, ma solo il primo e l'ultimo inserito?? E' da tanto che ci provo..

codice:
void coda::stampa() {
  elem* indice;
  
  if(indice == NULL)   
    cout << "La coda e' vuota!\n";
    else {
            cout << "La coda contiene i seguenti elementi : \n\n";
            elem* temp = indice;
            
            do {   
                  cout << "<--- [ " << temp->info << " ] ";
                  temp = temp->next;
            }  while(temp != NULL);
              cout << "\n\n";
    }
}
.. E questa era la mia funzione 'enqueue()' : (La sto postando perché ho il dubbio che sia qui l'errore..)

codice:
void coda::enqueue(int dato) {
  elem* indice = lista;
  elem* temp = indice;
  
  indice = temp;
  temp = new elem;
  temp->info = dato;
  
  if(indice == NULL) {       
    indice = temp;
    lista = indice;   
  } else {
            lista = indice;        
            temp->next = lista;         
            lista = temp;
    }
}