Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet
Il nuovo Deebot X12 OmniCyclone abbina un sistema di raccolta dello sporco senza sacchetto, un rullo di lavaggio esteso e la tecnologia FocusJet per intervenire più efficacemente sulle macchie più persistenti. Un robot completo e preciso che aiuta a tenere puliti i pavimenti di casa con il minimo sforzo
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2: la pulizia di casa con un mocio a nastro
Narwal Flow 2 implementa un mocio a nastro che esegue una pulizia dettagliata del pavimento di casa, in abbinamento ad un potente motore di aspirazione della polvere: un prodotto ideale per gestire in autonomia e con grande efficacia le necessità di pulizia dei pavimenti di casa
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
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


Ecovacs Deebot X12 OmniCyclone: lava grazie a FocusJet Ecovacs Deebot X12 OmniCyclone: lava grazie a Fo...
Narwal Flow 2: la pulizia di casa con un mocio a nastro Narwal Flow 2: la pulizia di casa con un mocio a...
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
ECOVACS DEEBOT T90 PRO OMNI vs Roborock ...
Fastweb scompare dai partner Starlink Mo...
Huawei anticipa tutti con Pura X Max: il...
Amazon Tech Week 2026: RTX 5000, process...
Grandi offerte Amazon su scope elettrich...
Amazon e Anthropic rafforzano la partner...
Elden Ring: il film arriverà fra ...
Mercato PC, +3,2% nel Q1 2026: Lenovo se...
Corsair Platform: scrivanie gaming modul...
Assassin's Creed Black Flag Resynced: Ub...
La crisi delle memorie colpisce anche Ap...
NVIDIA accelera il Path Tracing: nuovo a...
Le migliori cuffie gaming wireless del 2...
Anche HONOR avrà il suo Pro Max: ...
Sta arrivando WhatsApp Plus: cosa includ...
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: 11:07.


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