У меня есть 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