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?