2012-05-14 17 views
7

Estoy haciendo programación Visual C++, he creado una aplicación de consola CLR. Me di cuenta de que las matrices de cadenas deberían declararse como String ^, not String []. ¿Para qué sirve ^? ¿Y por qué se usa en lugar de []? ¿Y esta sustitución está limitada solo a las aplicaciones CLR? Aquí es una línea del código y el error:Uso del^operador en visual C++

array<String[]>[] abc; 

los errores generados se

error C2143: error de sintaxis: falta ';' antes de '['

error C2146: error de sintaxis: falta ';' antes identificador 'abc'

EROR C2065: 'abc': identificador no declarado

Respuesta

12

El acento circunflejo significa que el objeto es un puntero administrado, que va a ser recogida automáticamente por el recolector de basura - que no es necesario para hacer esto implícitamente Consulte this article para comprender cómo funcionan las matrices en C++/CLI.

En su caso:

array<String^> ^abc; 

Y esta sustitución se limita únicamente a las aplicaciones CLR?

Sí.