0

我在Visual C++代碼,我在數據類型的數據陣列^ &我想這個數據像UBYTE其他格式轉換*,但是當我在做類型轉換是時間Visual Studio將顯示一個錯誤:從
轉換 'CLI ::陣列^' 到UBYTE *

請告訴我如何解決這個問題:類型轉換在Visual C++ DLL程序

回答

0

使用編組,這樣的事情:

array<Byte>^ managed_array = ...; 
unsigned char *unmanaged_array = 
       (unsigned char*)malloc(managed_array->Length); 

Marshal::Copy(  unmanaged_array, 
            0, 
       IntPtr(unmanaged_array), 
       managed_array->Length); 

... 

free(unmanaged_array); 

注意:unmanaged_array的數據是managed_array數據的副本。

+0

非常感謝你的工作...... – user1136266