Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 03-10-2006, 11:11   #1
elgordoo
Junior Member
 
Iscritto dal: Mar 2006
Messaggi: 19
Aiuto su codice c++

Salve a tutti
premetto che sono alle prime armi con il c++ , nn riesco proprio a capire perchè mi da errore in esecuzione questo codice

class contesto
{
private:
list<int> **m;
public:
contesto();
};

contesto::contesto()
{
m = new list<int>*[2];
m[0]->push_back(1);
m[0]->push_back(2);

m[1]->push_back(3);
m[1]->push_back(4);
}

E nel main una semplice dichiarazione
int main()
{
contesto *p=new contesto();
}

Il compilatore dice che va bene.. ma in esecuzione mi si blocca... E se non inserisco elementi nella lista tutto funziona.

Grazie per ora dei vostri consigli
elgordoo è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 14:15   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da elgordoo
Salve a tutti
premetto che sono alle prime armi con il c++ , nn riesco proprio a capire perchè mi da errore in esecuzione questo codice

Il compilatore dice che va bene.. ma in esecuzione mi si blocca... E se non inserisco elementi nella lista tutto funziona.

Grazie per ora dei vostri consigli
Se vuoi fare un vettore dinamico di list allora devi fare cosi':
Codice:
class contesto  
{
private:
	list<int> *m;
public:
        contesto();
};

contesto::contesto()
{
	m = new list<int>[2];
	m[0].push_back(1);
	m[0].push_back(2);

	m[1].push_back(3);
	m[1].push_back(4);
}
Se non sono arrugginito dovrebbe andare bene
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 18:20   #3
elgordoo
Junior Member
 
Iscritto dal: Mar 2006
Messaggi: 19
thanks

Intanto grazie


La differenza praticamente e questa

list<int> **m; (scritta da me)
a questa
list<int> *m; (scritta da te)


puoi spiegarmi perchè il compilatore non segnalava errori?
Cioè quello che ho scritto io, era effettivamente una dichiarazione di un puntatore ad un array di puntatori a liste? (oppure ho dichiarato chissa cosa)
elgordoo è offline   Rispondi citando il messaggio o parte di esso
Old 03-10-2006, 22:34   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Tu hai dichiarato un puntatore a puntatore a List<int>...hai allocato due puntatori a list<int>, ma non hai allocato list<int> all'indirizzo puntato da m[0] e m[1]...l'errore non lo può dare in compilazione perchè il tipo era giusto (m[0]-> accedeva in questo caso ad un oggetto di tipo list<int>, quindi il tipo torna, ma tale oggetto non era allocato ed in quanto tale genera l'errore a runtime)...

In questo caso si fa lo stesso discorso che si fa per i vettori dinamici di interi:

int *a;
a = new int[2];

Se avessi voluto far tornare tutto, sarebbe bastato aggiungere:

*m[0] = new list<int>;
*m[1] = new list<int>;
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 04-10-2006, 18:21   #5
elgordoo
Junior Member
 
Iscritto dal: Mar 2006
Messaggi: 19
thanks

ottimo direi

grazie ancora
elgordoo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
NVIDIA App aggiunge una delle funzioni p...
Come sarebbe il mondo se la luce viaggia...
Titanio, ceramica e zaffiro per HUAWEI W...
Taglio delle accise sul gasolio prorogat...
Universal e ElevenLabs: una piattaforma ...
Astra mette in crisi i server di OpenAI:...
Phanteks EX5: disponibile il case a bloc...
Broadcom rimuove l'accesso a uno strumen...
Italo porta Starlink sui treni ad Alta V...
Le GPU costano sempre di più, ma ...
IBM e NASA hanno insegnato a un'IA a leg...
Desktop Remoto non funziona su Windows S...
Offerte Amazon del giorno: da AirPods 5 ...
Motorola anticipa la sua prossima mossa ...
La manovra di Picard di Star Trek funzio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:36.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v