我有一个本机C ++ dll,我从一个从C#应用程序调用的托管c ++ dll调用。
本机dll中的函数看起来像这样:
std::string NativeClass::Test()
{
return std::string("some string");
}
调用它的托管C ++函数看起来像这样
String ^ ManagedClass::Test()
{
std::string temp = this->_native->Test();
String^ sRet = msclr::interop::marshal_as<String^>(temp);
return sRet; // crashes here !!!
}
但是,在执行return语句时,应用程序崩溃并出现错误,如
Debug Assertion Failed!
debug_heap.cpp
Line 980
Expression: __acrt_first_block == header
我遍布Stackoverflow,但我还没有解决它。有什么想法吗?
答案 0 :(得分:1)