我有一个 C++ DLL 返回int*
一个 C# 程序。问题是分配后int*
仍然存在 C# 中的问题。null
当我将 C++ 结果分配给 时IntPtr
,我得到一个正确的非空值。int*
但是,任何将其转换为结果的尝试都会导致null
.
我试过了:
IntPtr intp = cppFunction (); // Non-null.
int* pi = (int *) intp; // Results in null.
int* pi = (int *) intp.ToPointer (); // Results in null.
void* vp = intp.ToPointer ();
int* pi = (int *) vp; // Results in null, but vp is non-null.
我怎样才能得到一个非 null int*
?
谢谢!艾伦