无法将参数1从';char[25]';到';安全阵列*';

本文关键字:安全 阵列 char 参数 | 更新日期: 2023-09-27 18:27:43

我的c++代码中有一个char sendBuf[sizeof(double)*3 + 1];

我的c#代码方法Multicast( byte[] message)以字节数组为参数。

那么为什么调用Multicast(sendBuf)不抛出这个错误cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'

在c/c++中,字符数组不是字节数组吗

那么我该如何将这个char*转换为safearray呢?

我试过

SAFEARRAYBOUND bound[1] = {25, 0};
SAFEARRAY * psa = SafeArrayCreate(VT_UI1, 1, bound);
for(int i = 0; i <25; i++){
SafeArrayPutElement(psa, &i, sendBuf[i]);   

但对于SafeArrayPutElement 得到cannot convert parameter 2 from 'int *' to 'LONG *'

无法将参数1从';char[25]';到';安全阵列*';

SAFEARRAY API 文档

SafeArrayCreateVector 开始