我有一个与 C++ 服务器对话的 C++ 库应用程序,我正在创建我的自定义类对象的向量。但是当我尝试返回我的自定义类 obj 向量时,我的 Cpp/CLI 控制台应用程序(与本机 C++ 交互)会引发内存冲突错误。
代码示例 -
在我的原生 C++ 类中 -
std::vector<a> GetStuff(int x)
{
-- do stuff
std::vector<a> vec;
A a;
vec.push_back(a);
--- push more A objs
return vec;
}
在我的 Cpp/CLI 类中
public void doStuff()
{
std::vector<a> vec;
vec = m_nativeCpp->GetStuff(4); // where nativeCpp is a dynamically allocated class in nativecpp DLL, the app throws up a memory violation error here!
}
确切的错误信息
CLIConsole.exe 中发生了“System.AccessViolationException”类型的未处理异常——这是我的控制台 cpp/CLI 项目
附加信息:试图读取或写入受保护的内存。这通常表明其他内存已损坏。