c++ - 托管 C++ 中的字符串数组

标签 c++ arrays managed managed-c++

我正在尝试用托管 C++ 编写应用程序,但我不知道如何声明字符串数组。

String^ linet[];

抛出一个错误

'System::String ^' : a native array cannot contain this managed type

所以我想有一种不同的方法可以对托管数据类型执行此操作。它到底是什么?

最佳答案

您真的是指托管 C++ 吗?不是 C++/CLI?

假设您实际使用的是 C++/CLI(由于您发布的错误消息),有两种方法可以做到这一点:

array<String^>^ managedArray = gcnew array<String^>(10);

将创建一个托管数组,即与 C# 中的 string[] 类型相同。

gcroot<String^>[] unmanagedArray;

将创建一个非托管的 C++ 数组(我从来没有真正用数组尝试过这个 - 它适用于 STL 容器,所以它也应该在这里工作)。

关于c++ - 托管 C++ 中的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/995434/

相关文章:

C++:输出文件中ASCII字符频率计数结果时出现奇怪的数字

arrays - 将字符串拆分为数组并对每个字符 Swift 执行特定操作

c# - 将 C++ 特定功能映射到 C++/CLI

Windows API功能的.NET包装器

extjs - 如何在 extjs webdesktop 上自动调整 iframe 内容的大小

c++ - Qt - QTreeView 和 SQL - 性能建议

c++ - 常量算术的编译时评估是怎么回事,它可以在预处理器中完成吗?

c++ - 在 Visual C++ 中接受来自客户端(套接字编程)的连接的问题

arrays - 自动完成发送数据ID

javascript - 二维数组返回错误值