2012-05-14 12 views
7

Ich mache Visual C++ - Programmierung, ich habe eine CLR-Konsole-Anwendung erstellt. Ich habe bemerkt, dass String-Arrays wie String ^, nicht String [] deklariert werden sollten. Was nützt ^? Und warum wird es anstelle von [] verwendet? Und ist diese Substitution nur auf CLR-Anwendungen beschränkt? Hier ist eine Zeile des Codes und der Fehler:Verwendung von^Operator in Visual C++

array<String[]>[] abc; 

die Fehler generiert wurden

Fehler C2143: Syntaxfehler: fehlen; vor '['

Fehler C2146: Syntaxfehler: fehlt ';' vor Bezeichner ‚abc‘

eror C2065: ‚abc‘: nicht deklarierter Bezeichner

Antwort

12

Die Circumflex bedeutet, dass das Objekt ein verwalteter Zeiger ist, wird es automatisch vom Garbage Collector gesammelt werden - die Sie nicht brauchen um dies implizit zu tun. Schauen Sie sich bitte this article an, um zu verstehen, wie Arrays in C++/CLI funktionieren.

In Ihrem Fall:

array<String^> ^abc; 

Und wird diese Substitution nur auf CLR Anwendungen beschränkt?

Ja.