0
我想換一個C++指針字段財產CLI中,這裏是我的代碼:如何在C++/CLI中將'int *'轉換爲'int ^'?
class NativeClass
{
public:
int* nativeApointer;
}
ref class ManagedClass
{
NativeClass* thisClass
property int^ A
{
int^ get()
{
return thisClass->nativeApointer
}
}
}
編譯器發現errror,所以怎麼也非託管指針轉換爲內部指針?
.NET屬性使用getter/setter而不是返回一個可寫的引用(即將到來的C#版本*可能會*最終改變這一點)。那麼爲什麼不'get(){return * nativepointer; } set(int newvalue){* nativepointer = newvalue; }' –
基本上你應該*永遠不會*看到'int ^'類型。 'int'是一個值類型,所以它通常只是'int',而byref參數是'int%',並且它與'^'結合是奇怪的強類型盒裝值,與所有其他.NET語言不兼容。 –
@BenVoigt ref返回已經在C#語言中了)@cook you * can *暴露一個類型爲int *的本地指針,但除非這指向了一個int數組,否則您應該使用get /通過簡單的'int'設置對。 –