如何把一个pin_ptr到一个通用的列表?
-
20-09-2019 - |
题
我有一个管理C ++方法,它作为一个参数组字符串^
该方法需要使用指针非托管结构填充到在字符串存储^
提取WCHAR *是具有足够PtrToStringChars简单
然而我不知道pin_ptr的数量在设计时分配
我想补充的固定PTR到一个列表,类似于下面的东西
列表
操作的产率 错误C3225:关于“T”一般类型参数不能为“CLI :: pin_ptr”,它必须是一个值或类型的句柄引用
有没有办法做到这一点?在托管C
解决方案
那么你有几个问题。首先pin_ptr不是管理型,所以你不能够把它放在一个列表。你可以使用一个C ++矢量代替除外:
钉住指针只能被声明为在堆栈上非静态本地变量。
这 http://msdn.microsoft。 COM / EN-US /库/ 1dz8byfh%28VS.80%29.aspx 。
相反,你很可能不得不使用 GCHandles用 GCHandleType直接置顶 的
不隶属于 StackOverflow