0

我在 Visual C++ 中有一个代码,我在数据类型数组中有一个数据 ^ & 我想将此数据转换为其他格式,例如 UBYTE* 但是当我进行 Typecasting 时,Visual Studio 会显示一个错误:
convert from ' cli::array ^' to UBYTE*

请告诉我如何解决这个问题:

4

1 回答 1

0

使用编组,如下所示:

array<Byte>^ managed_array = ...;
unsigned char *unmanaged_array =
                (unsigned char*)malloc(managed_array->Length); 

Marshal::Copy(        unmanaged_array,
                                    0,
              IntPtr(unmanaged_array),
                managed_array->Length);

...

free(unmanaged_array);

注意:unmanaged_array 的数据是 managed_array 数据的副本。

于 2012-05-20T13:06:42.547 回答