我需要帮助进行这样的转换:
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];