托管 C++ 中的泛型泛型

发布于 2024-07-10 13:30:53 字数 463 浏览 9 评论 0原文

我想在托管 C++ 项目中创建一个 KeyValuePair列表。 这是我正在使用的语法

List<KeyValuePair<String^, String^>^>^ thing;

,但出现以下错误:

错误 C3225:“T”的泛型类型参数不能是“System::Collections::Generic::KeyValuePair ^”,它必须是值类型或引用类型的句柄

我基本上想这样做(C#)

List<KeyValuePair<string, string>> thing;

,但在托管C++。 哦,在 .Net 2.0 中。 有接受者吗?

I want to create a List of KeyValuePairs in a managed C++ project. Here is the syntax I'm using

List<KeyValuePair<String^, String^>^>^ thing;

but I'm getting the following error:

error C3225: generic type argument for 'T' cannot be 'System::Collections::Generic::KeyValuePair ^', it must be a value type or a handle to a reference type

I basically want to do this (C#)

List<KeyValuePair<string, string>> thing;

but in managed C++. Oh and in .Net 2.0. Any takers?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只有影子陪我不离不弃 2024-07-17 13:30:53

弄清楚:

List<KeyValuePair<String^, String^>>^ thing;

KeyValuePair 本身不需要是句柄。 呃。

Figured it out:

List<KeyValuePair<String^, String^>>^ thing;

KeyValuePair does not itself need to be a handle. Duh.

别在捏我脸啦 2024-07-17 13:30:53

KeyValuePair 本身不需要是句柄。 呃。

因为它是值类型,而不是引用类型(即 C# 中的 struct 而不是 class)。

KeyValuePair does not itself need to be a handle. Duh.

Because it's a value type, not a reference type (i.e. struct instead of class in C#).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文