Ho provato a cambiare metodo di allocazione ma si creano altri 100 problemi, allora prima di postare un'altra discussione per un altro problema volevo risolverne uno per volta dato che il mio problema iniziale non era l'allocazione dinamica...
Ho provato a cambiare metodo di allocazione ma si creano altri 100 problemi, allora prima di postare un'altra discussione per un altro problema volevo risolverne uno per volta dato che il mio problema iniziale non era l'allocazione dinamica...
Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima
Veramente non credo si possano creare problemi da una semplice allocazione dinamica di un vettore ... tanto meno altri 100 problemi ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Se allochi memoria con new[] devi liberarla con delete[] e non con delete altrimenti il comportamento è indefinito.
Comunque ti consiglio di non mischiare C e C++ a casaccio e in particolare di non usare stringhe C like (i char* per capirsi) se puoi sostituirle con std::string.
Ad esempio non capisco il senso di avere un campo char* TABELLA.nome quando basta utilizzare un std::string TABELLA.nome per risparmiarsi un'allocazione di memoria (che poi liberi con una semplice delete e non con delete[])
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.
Lo so, per questo non capisco...Originariamente inviato da oregon
Veramente non credo si possano creare problemi da una semplice allocazione dinamica di un vettore ... tanto meno altri 100 problemi ...![]()
Lo so, ma ho iniziato da poco con il C++ e non conosco anncora TUTTE le differenze tra C e C++... Comunque ho già fatto tutti i cambi da char* a stringOriginariamente inviato da shodan
Comunque ti consiglio di non mischiare C e C++ a casaccio e in particolare di non usare stringhe C like (i char* per capirsi) se puoi sostituirle con std::string.
Ad esempio non capisco il senso di avere un campo char* TABELLA.nome quando basta utilizzare un std::string TABELLA.nome per risparmiarsi un'allocazione di memoria (che poi liberi con una semplice delete e non con delete[])![]()
Questo non lo sapevo...Se io allocoOriginariamente inviato da shodan
Se allochi memoria con new[] devi liberarla con delete[] e non con delete altrimenti il comportamento è indefinito.
TABELLA = new Tabella[numero_righe];
dove TABELLA è la variabile e Tabella è il tipo, devo deallocare così?
delete TABELLA[numero_righe];
Mi da come errore: type `struct Tabella' argument given to `delete', expected pointer
Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima
No ...Originariamente inviato da giulio.dr
delete TABELLA[numero_righe];
delete[] TABELLA;
No MP tecnici (non rispondo nemmeno!), usa il forum.
Grazie mille, ora non ho + quel problema (anche se era davvero strano...)
![]()
Ci sono solo due cose infinite: l'universo e la stupidità umana. Ma non sono del tutto sicuro della prima
Leggi qui per capire il motivo.
http://www.eptacom.net/pubblicazioni/pub_it/iso_8.html
(Affermazione falsa n°2)
This code and information is provided "as is" without warranty of any kind, either expressed
or implied, including but not limited to the implied warranties of merchantability and/or
fitness for a particular purpose.