2012-05-14 18 views
7

Sto facendo programmazione Visual C++, ho creato un'applicazione console CLR. Ho notato che gli array di stringhe devono essere dichiarati come String ^, non String []. A cosa serve ^? E perché viene usato al posto di []? Ed è questa sostituzione limitata solo alle applicazioni CLR? Qui è una linea di codice e l'errore:Uso dell'operatore^in visual C++

array<String[]>[] abc; 

errori generati erano

errore C2143: errore di sintassi: manca ';' prima '['

errore C2146: errore di sintassi: mancante ';' prima di identificatore 'abc'

eror C2065: 'abc': identificatore non dichiarato

risposta

12

L'accento circonflesso significa che l'oggetto è un puntatore gestito, sarà raccolte automaticamente dal garbage collector - non è necessario per fare questo implicitamente. Si prega di dare un'occhiata a this article per capire come funzionano gli array in C++/CLI.

Nel tuo caso:

array<String^> ^abc; 

ed è questa sostituzione limitato solo ad applicazioni CLR?

Sì.