-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