Ciao raga, mi sapreste dire ed correggere l'errore che c'e' in questo programma??:
codice:
#include <iostream>
using namespace std;
struct lista
{
 int num;
 lista *next;
};

int main()
{
 lista *p1;
 lista *p2;   
 lista **x;   
 int N,N1,y; 
 //Primo caricamento
 y=1;  
 cout<<"Inserisci il numero di nodi della prima lista (min 2) = ";
 cin>>N; 
 lista p;
 cout<<y<<") Inserisci il numero = ";
 cin>>p.num;
 x=&p.next;
 
 do
 {
  y++;         
  lista *r = new lista;
  r->next = NULL;
  *x = r;
  x = &r->next;
  cout<<y<<") Inserisci il numero = ";
  cin>>r->num;        
 }
 while(y+1<N+1);
 //Secondo caricamento
 y=1;
 cout<<"Inserisci il numero di nodi della seconda lista (min 2) = ";
 cin>>N1;
 lista q;
 cout<<y<<") Inserisci il numero = ";
 cin>>q.num;
 x=&q.next;
 
 do
 {
  y++;         
  lista *s = new lista;
  s->next = NULL;
  *x = s;
  x = &s->next;
  cout<<y<<") Inserisci il numero = ";
  cin>>s->num;        
 }
 while(y+1<N1+1);
 
 //Inizio Controllo
 p1= &p;
 p2= &q;
 lista t;
 if (p.num > q.num)
                  {
                   t.num=q.num;
                   q=q.next;    // qui c'e' l'errore
                  }
                  else
                  {
                   t.num=p.num;
                   p=p.next;   // anche qui
                  }
 system("PAUSE");
}
Mi segnala due errori su quelle due righe segenalte da me sopra (in totale 4):
no match for 'operator=' in 'q = q.lista::next'
candidates are: lista& lista:perator=(const lista&)