微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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];

原文地址:https://www.jb51.cc/c/114933.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐