如何初始化一个字符串^ *
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" };
我正在使用 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" };