Jon*_*ior 8 c++ arrays managed-c++ managed
我正在尝试用Managed C++编写一个应用程序,但我无法弄清楚如何声明一个字符串数组.
String ^ linet [];
抛出错误
'System :: String ^':本机数组不能包含此托管类型
所以我认为对托管数据类型有不同的方法.究竟是什么?
你真的是指Managed C++吗?不是C++/CLI?
假设您实际使用的是C++/CLI(因为您发布了错误消息),有两种方法可以做到这一点:
array<String^>^ managedArray = gcnew array<String^>(10);
Run Code Online (Sandbox Code Playgroud)
将创建一个托管数组,即与C#中string []相同的类型.
gcroot<String^>[] unmanagedArray;
Run Code Online (Sandbox Code Playgroud)
将创建一个非托管的C++数组(我从来没有真正尝试过使用数组 - 它适用于stl容器,因此它也可以在这里工作).