Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    211

    [c++] test sulle liste. crash inspegabile

    ciao a tutti, sto ripassando un po' tutte le strutture che ho creato e, nelle liste, il codice per fare il test va in crash senza fare niente, cioè non incontra nemmeno la prima istruzione del codice.
    nel seguente link sono riportati i codici di tutte le realizzazioni di lista che ho fatto e che sono utilizzate nel test.

    https://skydrive.live.com/redir?resi...BKQFIBySQoNJtU

    posto il codice del test che ho creato.

    testliste.cpp
    codice:
    #include "nodop.h"
    #include "lista.h"
    #include "listav.h"
    #include "listap.h"
    #include "listac.h"
    #include<iostream>
    #include<stdlib.h>
    
    using namespace std;
    
    int main()
    {
       cout << "casa";
    
       listav<int> l1(10);
       listap<int> l2;
       listac<int> l3;
       
       cout << "        ***test lista con vettore***\n\n";
       l1.test();
       cout << "\n\n";
       system("pause");
       system("cls");
       
       cout << "        ***test lista con puntatore***\n\n";
       l2.test();
       cout << "\n\n";
       system("pause");
       system("cls");
       
       cout << "        ***test lista con cursore***\n\n";
       l3.test();
       cout << "\n\n";
       
       system("pause");
       return 0;
    }
    come potete notare ho inserito la stringa "casa" all'inizio del codice e ho notato che il test va in crash prima di incontrare quella istruzione. perchè succede questo??? cosa non va bene?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non è inspiegabile ... avviene in

    typename listac<tipoelem>::nodoc *listac<tipoelem>::inizializzalistalibera()

    precisamente in

    *spazio[0].precedente = MAXDIM - 1;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    211
    perchè va in crash su quell'istruzione???
    spazio[0].precedente è un puntatore a intero quindi facendo quell'assegnazione, assegno alla cella di memoria puntata da spazio[0].precednete il valore MAXDIM -1.

    visto che evidentemente non va fatto così, come potrei fare?

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da pietrol83
    spazio[0].precedente è un puntatore a intero quindi facendo quell'assegnazione, assegno alla cella di memoria puntata da spazio[0].precednete il valore MAXDIM -1.
    Il problema è che precedente non punta ad una cella di memoria valida dato che il puntatore non è mai stato inizializzato con un valore valido.

    Se utilizzi un puntatore non inizializzato, avrai sempre un crash.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.