2013-01-23 83 views
0

好的,在這裏。我正在爲directx創建包裝器,並使用類型創建。我知道我很可怕,但請指出正確的方向。將int轉換爲UINT32

Platform::Array<short>^ Font::GetGlyphIndices(const Platform::Array<int>^ codePoints) 
{ 
font->GetGlyphIndices(const UINT32 *codePoints, UINT32 count, UINT16 *indices); 

Platform::Array<short>^ in; //should return indices 

return in; 
} 

我怎麼可以轉換類型? VS拋出錯誤爲"signature of public member contains native type 'int []'"。所以,更新的代碼。

+0

類型鑄造? '(NEWTYPE)oldtype'。例如:'int i; char ch ='\ n';我=(int)ch;' – Floris

回答

0

您正在使用託管C++和本機C++。所以最好的選擇是分配UINT32的本地指針(數組),從本地函數獲取數據並運行一個循環以將值傳遞到託管數組(in)。然後回來。你不能,也不應該混合託管和非託管內存。因此,非常青睞轉換陣列!

+0

我已經開始循環。但認爲必須有一些直接的方法。似乎沒有。謝謝! – newbie

+0

元帥::複製在那裏,爲此目的。但運行一個循環是更好的方法。 http://msdn.microsoft.com/en-us/library/4cew0s1h.aspx – Ajay