Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C++]cilco for non equivalente a while non funziona

    Il seguente codice serve per eliminare tutti gli elementi di una lista.
    Dato la dichiarazione
    codice:
    struct Record{
       int i;
       Record* l;
    }
    
    Record* l;
    Il seguente codice funziona:
    codice:
      Record* p=l;
       while (l!=0)
       {
          l=l->l;
          delete p; 
          p=l;
       }
    ho provato a trasformare il codice sopra in un ciclo for:
    codice:
      for (Record* p=l; l!=0; p=l)
      {
         l=l->l; 
         delete p;
      }
    Mi sembra che i due frammenti di codice siano equivalenti, ma in realtà, quando faccio girare il secondo, mi esce un box di messaggio di win che dice che il programma che sto lanciando ha eseguito un'operazione non valida e sarà terminato.

    Perché il ciclo for è diverso dal ciclo while e perché non funziona?

  2. #2
    usi dev c++?
    [Homepage] [Contattami]
    Powered by: Ubuntu - Debian - Gentoo
    Developing: Java - C++ - PHP

    [supersaibal]"Perchè tanto Debian è meglio"
    [/supersaibal]

  3. #3
    per ora sto usando il compilatore della borland (linea di comando) bcc32, ma adesso sto cercando di scaricare il dev c++, è fatto da più componenti o devo solo scaricare un solo file di installazoine?

  4. #4
    il seguente ciclo for invece funziona senza problemi
    codice:
       for(Record* p=l; p!=0; p=p->l)
       {
          cout << p->i << endl;
       }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.