c -cli – 如何转换(管理为非托管)数组到字节*?

前端之家收集整理的这篇文章主要介绍了c -cli – 如何转换(管理为非托管)数组到字节*?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要帮助进行这样的转换:
byte* bytes = Battle::Storm::GetBytes(0);

现在我得到错误

Error 3 error C2440: ‘initializing’ : cannot convert from ‘cli::array ^’ to ‘byte *’

我该怎么做?

解决方法

错误信息我了解Battle :: Storm :: GetBytes(0);返回一个多维数组,其形式为cli :: array< Byte,dimension> ^

将其转换为本机unsigned char *

array<Byte,N> ^ byteMultiArray = Battle::Storm::GetBytes(0);
pin_ptr<unsigned char> array_pin = &byteArray[0,...,Nth 0]; 
unsigned char * nativeArray = array_pin;

这里N是数组的维数.

//for N = 2  
pin_ptr<unsigned char> array_pin = &byteArray[0,0];
//for N = 4  
pin_ptr<unsigned char> array_pin = &byteArray[0,0];

猜你在找的C&C++相关文章