如何初始化一个字符串^ *

How to initialize a String^ *

我正在使用 VS2010,一个 Visual C++ 项目。

我已经声明我的 var 来存储一些要在控件中显示的选项:

System::String^ * operaciones;

现在,在我的 void InitializeComponent(void) 中,我正在尝试将稍后要加载的选项加载到此 var。我试了好几种方法都没人能编译出来

我有:

operaciones = {  "Umbralizado" ,
                 "ROI"  ,
                 "Contornos" ,
                 "DFT" ,
                 "R - V"};

为了填补 String^ * 这似乎很好(对我来说)。但是,我得到:

Error   2   error C2059: error de sintaxis : '{'    c:\...\Form1.h  98
Error   3   error C2143: error de sintaxis : falta ';' delante de '{'   c:\...\Form1.h  98

已翻译的消息:

Syntax error: '{'
A ';' is missing before '{'

如果我注释初始化,我的程序编译正常,所以这不是因为我错过了 {; 之前。

我已经查找了 C2059 and C2143 个错误,但我仍然无法找出我做错了什么。我觉得像"can't see the forest for its trees",做起来应该没有那么难吧

编辑:我已将其更改为托管数组,但我仍然遇到相同的错误。我已经清理然后使用 VS 再次构建,但没有发生任何新情况:

你不能这样做,在非托管数组中存储托管对象是非法的。或者使用非托管指针引用它们。垃圾收集器永远无法正确找到对象,它必须 是一个托管数组。编译器不会产生像样的错误消息来帮助您发现这个基本事实。

正确的语法是:

   array<String^>^ operations = { "foo", "bar", "baz" };