невозможно преобразовать параметр 1 из 'char [25] "в" SAFEARRAY * " - PullRequest
1 голос
/ 13 марта 2012

У меня есть char sendBuf[sizeof(double)*3 + 1]; в моем коде c ++.

Мой код c # com * Multicast( byte[] message) принимает байтовый массив в качестве аргумента.

так почему вызов Multicast (sendBuf) не выдает эту ошибку cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'

не является массивом символов байтовым массивом в c / c ++

также, как мне тогда преобразовать этот символ * в 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]);   

но получите cannot convert parameter 2 from 'int *' to 'LONG *' для SafeArrayPutElement

1 Ответ

0 голосов
/ 13 марта 2012
...