Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-08-2009, 15:49   #1
EmaGuzzetti
Senior Member
 
Iscritto dal: Sep 2006
Messaggi: 311
[c++] funzione operator = non disponibile in system::collections::generic::list<T>

salve a tutti...premetto che io sono un programmatore di vb.net e c# e sto provando a passare al c++... sto usando però sempre le winforms e il .net framework 2.0 tramite visual studio 2008...
il mio problema è questo... devo creare una classe Applicazione che contiene 3 variabili... il tipo, il nome e una lista di stringhe...visto che al momento non ho trovato classi facili come le list (of ) di visual basic e comunque mi ero sempre trovato bene ho deciso di usarle anche qui..
questa è la classe che ho creato:
Applicazione.h

Codice PHP:
#pragma once 
using namespace System
using namespace System::Collections::Generic
ref class Applicazione 

public: 
    
Applicazione(String ^, List<String^>, String^); 
    
Applicazione(String ^, String^, String^); 
    
Applicazione(String ^, String^); 
    
Applicazione(String ^); 
    
StringgetNome(); 
    
void setNome(String^); 
    
StringgetTipo(); 
    
void setTipo(String^); 
    List<
String^> getPaths(); 
    
void setPaths(List<String^> ); 
    
StringgetPath(); 
    
virtual ~Applicazione(void); 
protected: 
    
StringNomeA
    List<
String^> PathsA
    
StringTipoA
}; 

Applicazione.cpp

Codice PHP:
#include "StdAfx.h" 
#include "Applicazione.h" 
using namespace System
using namespace System::Collections::Generic
Applicazione::Applicazione(StringNome, List<String^> PathsStringTipo

    
NomeA=Nome
    
TipoA=Tipo
    
PathsA
        
Paths


Applicazione::Applicazione (StringNomeStringPathStringTipo

    
NomeA=Nome
    
TipoA=Tipo
    
PathsAgcnew List<String^>; 
    
PathsA.Add(Path); 


Applicazione::Applicazione (StringNomeStringTipo

    
NomeA=Nome
    
TipoA=Tipo


Applicazione::Applicazione (StringTipo

    
TipoA=Tipo


Applicazione::~Applicazione(void



StringApplicazione::getNome(){ 
    return 
NomeA

void Applicazione::setNome(StringNome){ 
    
NomeA=Nome


List<
String^> Applicazione::getPaths(){ 
     
    return 
PathsA

void Applicazione::setPaths(List<String^> Paths){ 
    
PathsA=Paths


StringApplicazione::getTipo(){ 
    return 
TipoA

void Applicazione::setTipo(StringTipo){ 
    
TipoA=Tipo


StringApplicazione::getPath(){ 
    return 
PathsA[0]; 


solo che quando tento di assegnare a PathsA la variabile di tipo list(of) mi da il seguente errore:
error C2582: funzione 'operator =' non disponibile in 'System::Collections::Generic::List<T>'

e quando tento il return della classe mi da il seguente errore:
error C3073: 'System::Collections::Generic::List<T>': la classe di riferimento non ha un costruttore di copia definito dall'utente

come posso risolvere usando sempre la classe list(OF)? so che il c++ non elimina direttamente i dati ma bisogna rimuoverli tramite distruttore..ma non so come si implementa..potreste farmi un esempio? e infine, non c'è una classe del c++ simile e potente come le list(of) del .net framework? e come posso assegnare un valore nullo alle classi del .net framework?!?

Ultima modifica di EmaGuzzetti : 02-08-2009 alle 20:41.
EmaGuzzetti è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2009, 00:00   #2
EmaGuzzetti
Senior Member
 
Iscritto dal: Sep 2006
Messaggi: 311
nessuno sa aiutarmi?
EmaGuzzetti è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2009, 00:04   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Per prima cosa quello non è C++ ma C++/CLI, ovvero qualcosa che ha nel nome la scritta C++ ma che non lo è.

Comunque il tuo problema è che mancano le parentesi tonde:
[code]
PathsA= gcnew List<String^>();
[code]
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 07-08-2009, 09:43   #4
EmaGuzzetti
Senior Member
 
Iscritto dal: Sep 2006
Messaggi: 311
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Per prima cosa quello non è C++ ma C++/CLI, ovvero qualcosa che ha nel nome la scritta C++ ma che non lo è.

Comunque il tuo problema è che mancano le parentesi tonde:
[code]
PathsA= gcnew List<String^>();
[code]
no il problema me lo da piu volte e all'altezza di:
PathsA=Paths;
credo sia dovuto che il c++ per il return crea una copia della variabile..e non avendo un costruttore di copia non sa come fare...solo che non so come farne una copia!
EmaGuzzetti è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2009, 09:22   #5
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da EmaGuzzetti Guarda i messaggi
no il problema me lo da piu volte e all'altezza di:
PathsA=Paths;
credo sia dovuto che il c++ per il return crea una copia della variabile..e non avendo un costruttore di copia non sa come fare...solo che non so come farne una copia!
In C++/CLI ogni tipo riferimento deve essere seguito da ^.
A te manca tutte le volte che scrivi List<String^>, devi specificare che stai usando un riferimento e quindi List<String^>^.

Inoltre i tipi riferimento usano l'operatore di selezione dei puntatori del vero C++ quindi non puoi scrivere PathA.Add(Path) ma PathA->Add(Path)

Infine ti prego di non continuare a chiamare quell'affare C++ perchè non lo è.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 08-08-2009, 10:34   #6
EmaGuzzetti
Senior Member
 
Iscritto dal: Sep 2006
Messaggi: 311
grazie mille! sai anche come controllare che non sia null il valore dell'oggetto? naturalmente l'= a 0 non funziona per un oggetto del framework..e cmq scusa per averlo chiamato sempre c++ ma non sapevo che microsoft vs ha tentato di standardizzare il c++ a suo modo.. comunque oramai sto provando a non usare winforms...ma mi blocco qui:
http://www.hwupgrade.it/forum/showth...5#post28470205
puoi aiutarmi?

Ultima modifica di EmaGuzzetti : 08-08-2009 alle 10:36.
EmaGuzzetti è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
OnePlus potrebbe annunciare molto presto...
Gli ordini su Glovo ora si possono pagar...
Polymarket è stata di nuovo oscur...
Mova Z60 Ultra Roller Complete contro DR...
Paramount-Warner Bros.: dodici Stati USA...
GigaWiper: il malware che distrugge i di...
Lenovo Idea Tab Plus: sottile, leggero, ...
Logitech G PRO X Wireless contro HyperX ...
Il prossimo top di gamma di OPPO potrebb...
Comprare uno smartphone economico sta pe...
Google in pole position per utilizzare i...
Nintendo valuta una Switch 2 OLED con sc...
ChatGPT torna disponibile su WhatsApp in...
Non vuoi usare l'intelligenza artificial...
Metà del web ormai è bot: ...
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: 09:12.


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