-1
我有一個託管C++包裝類用於非託管C庫。我遇到了一個問題,看起來我從託管的C++類發送的指針沒有指向非託管C代碼庫方法使用的相同內存位置。在非託管庫方法中使用託管C++中的指針
MyNonManagedType* dataPointer;
getDataFromNonmanagedCLibrary(dataPointer);
// this gives me junk data, where field should be a char array
String^ myFieldValue = gcnew String(dataPointer->field);
dataPointer是否可能指向C庫使用的相同地址?或者也許我需要使用某種元帥方法,或者我可能缺少其他陷阱?
指針'dataPointer'未初始化。什麼可以'getDataFromNonmanagedCLibrary'處理它,除了檢查它是否爲NULL?它肯定無法初始化它,因爲它是按值傳遞的。 – PaulMcKenzie
可能的重複:--http://stackoverflow.com/questions/32705042/c-program-crashes-when-method-return-value-is-assigned-to-an-int – PaulMcKenzie