title: cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'
body: <p>I have a <code>char sendBuf[sizeof(double)*3 + 1];</code> in my c++ code.</p>
  
  <p>My c# com code method <code>Multicast( byte[] message)</code> takes byte array as argument.</p>
  
  <p>so why doesnt the call Multicast(sendBuf) throw this error <code>cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'</code></p>
  
  <p>isnt a char array a byte array in c/c++</p>
  
  <p>also how do I convert this char* to safearray then?</p>
  
  <p>I tried </p>
  
  <pre><code>SAFEARRAYBOUND bound[1] = {25, 0};
  SAFEARRAY * psa = SafeArrayCreate(VT_UI1, 1, bound);
  
  for(int i = 0; i &lt;25; i++){
  SafeArrayPutElement(psa, &amp;i, sendBuf[i]);   
  </code></pre>
  
  <p>but get <code>cannot convert parameter 2 from 'int *' to 'LONG *'</code> for <code>SafeArrayPutElement</code></p>