我希望声明并初始化一维托管数组。
如果是C#代码,我会这样写:
VdbMethodInfo[] methods = new VdbMethodInfo[] {
new VdbMethodInfo("Method1"),
new VdbMethodInfo("Method2")
};
我正在尝试编写(好吧,实际上,我正在编写一个程序生成)在托管C ++中同样的事情......
到目前为止,我有:
typedef array<VdbMethodInfo^, 1> MethodArray;
// How do I avoid pre-declaring the size of the array up front?
MethodArray^ methods = gcnew MethodArray(2);
methods[0] = gcnew VdbMethodInfo("Method1");
methods[1] = gcnew VdbMethodInfo("Method2");
这有两个问题:
Managed C ++中的GC数组是否有“数组初始化”语法?什么是正确的语法?是否有关于此问题和其他类似问题的良好网络链接?
答案 0 :(得分:29)
C ++ / CLI数组声明&amp;初始化语法与C#中的语法没有什么不同。这是一个例子......
array<String^>^ myArray = gcnew array<String^> {"first", "second"};
答案 1 :(得分:0)