Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 作为指针传递的非托管类型的C++/CLI数组_C#_C++ Cli_Unmanagedresources - Fatal编程技术网

C# 作为指针传递的非托管类型的C++/CLI数组

C# 作为指针传递的非托管类型的C++/CLI数组,c#,c++-cli,unmanagedresources,C#,C++ Cli,Unmanagedresources,我的问题是把这个问题从 我知道,要创建具有非托管类型的托管数组,我需要提供它的指针 array<UserType*>^ args=gcnew array<UserType*>(2); 现在,如果我想将这个数组发送到一个本机函数,该函数需要一个const UserType*参数,那么我该怎么做呢。托管阵列可能没有固定地址,垃圾收集器可以重新定位该阵列 编辑:您有一个UserType*数组,因此非托管函数应该使用UserType*const*。是否可以添加一个代码段?我已

我的问题是把这个问题从

我知道,要创建具有非托管类型的托管数组,我需要提供它的指针

array<UserType*>^ args=gcnew array<UserType*>(2);
现在,如果我想将这个数组发送到一个本机函数,该函数需要一个const UserType*参数,那么我该怎么做呢。托管阵列可能没有固定地址,垃圾收集器可以重新定位该阵列


编辑:您有一个UserType*数组,因此非托管函数应该使用UserType*const*。

是否可以添加一个代码段?我已经尝试使用pin_ptr,但可能没有正确使用。更有可能的是,本机函数的签名已经确定,在这种情况下,托管阵列需要更改为cli::array^而不是指针。cli::array^是否会被禁止,因为我无法使用用户定义的非托管类型创建托管阵列?顺便说一句,修改非托管类型不是一个选项