06/07/06 14:27
Oligoatria
Nel progetto SDL_game alloco dinamicamente la memoria con gli operatori new e delete.
Qui di seguito riporto il mio "diario di progettazione":
// ** Utilizzo Microsoft Visual Studio 6.0 **
Questo problema non mi fa andare avanti!
Per chi volesse dare un'occhiata per risolvere
questo interessante problema |
|
V
Fondamentale: il file "livelli\level1.oli" // è un file di testo in base al quale
vengono impostati gli oggetti del livello
-- per ora solo stone
I sintomi:
se nel file ci sono oggetti
<= 2 --> nessun sintomo, tutto si svolge correttamente
=3 --> in fase di debug (con F5) e con l'eseguibile ( già compilato, non utilizzato da Visual Studio )
nessuno, se lo eseguo da Visual Studio mi dà un errore del programma riguardante
la memoria.
>3 --> l'errore appena citato si verifica sempre
L'ultima modifica di codice fatta prima dell'errore:
(nel file Avventura.cpp, il principale del progetto)
Ho creato una lista puntata di oggetti _ Stone _ ;
se non si verificasse la situzione ambigua sopra
introdotta con " =3 " penserei ad un errore
nell'impostazione della lista, ma a questo punto
VORREI CAPIRE PRECISAMENTE COSA ACCADE.
Speriamo che sia, come accade spesso, un problema
banalmente risolvibile,
Oligoatria
6_07_2006
Ora mi è chiaro che è un errore che riguarda la
memoria disponibile e che in fase di debug (con F5)
non dà lo stesso errore perchè prosegue con
l'esecuzione anche se gli oggetti non stati tutti
allocati; in poche parole, non funziona correttamente.
************************
La cosa che non capisco è perchè se dichiaro ( ad esempio )
4 oggetti stone funziona, ma se li alloco dinamicamente
durante il runtime mi genera questo errore.
Quello che mi rode è che l'operatore new non restituisce
NULL come dovrebbe fare se non c'è memoria disponibile
e che anche se mettessi try+catch non potrei utilizzare
comunque gli oggetti interessati.
************************
Oligoatria
-------
P.S.: ora mi occuperò della pubblicazione dei sorgenti.
Qui di seguito riporto il mio "diario di progettazione":
// ** Utilizzo Microsoft Visual Studio 6.0 **
Questo problema non mi fa andare avanti!
Per chi volesse dare un'occhiata per risolvere
questo interessante problema |
|
V
Fondamentale: il file "livelli\level1.oli" // è un file di testo in base al quale
vengono impostati gli oggetti del livello
-- per ora solo stone
I sintomi:
se nel file ci sono oggetti
<= 2 --> nessun sintomo, tutto si svolge correttamente
=3 --> in fase di debug (con F5) e con l'eseguibile ( già compilato, non utilizzato da Visual Studio )
nessuno, se lo eseguo da Visual Studio mi dà un errore del programma riguardante
la memoria.
>3 --> l'errore appena citato si verifica sempre
L'ultima modifica di codice fatta prima dell'errore:
(nel file Avventura.cpp, il principale del progetto)
Ho creato una lista puntata di oggetti _ Stone _ ;
se non si verificasse la situzione ambigua sopra
introdotta con " =3 " penserei ad un errore
nell'impostazione della lista, ma a questo punto
VORREI CAPIRE PRECISAMENTE COSA ACCADE.
Speriamo che sia, come accade spesso, un problema
banalmente risolvibile,
Oligoatria
6_07_2006
Ora mi è chiaro che è un errore che riguarda la
memoria disponibile e che in fase di debug (con F5)
non dà lo stesso errore perchè prosegue con
l'esecuzione anche se gli oggetti non stati tutti
allocati; in poche parole, non funziona correttamente.
************************
La cosa che non capisco è perchè se dichiaro ( ad esempio )
4 oggetti stone funziona, ma se li alloco dinamicamente
durante il runtime mi genera questo errore.
Quello che mi rode è che l'operatore new non restituisce
NULL come dovrebbe fare se non c'è memoria disponibile
e che anche se mettessi try+catch non potrei utilizzare
comunque gli oggetti interessati.
************************
Oligoatria
-------
P.S.: ora mi occuperò della pubblicazione dei sorgenti.
aaa