定义结构
struct A{
....
};struct B{
CArray<A,A> AA;
......
};在.EXE中定义
B sB;
在.DLL中定义
B *pB;将sB的地址传递到pB在.DLL中生成数据调用pB->Add(...);
以后在.EXE可正常使用数据sB;
但调用sB.RemoveAll();却出现错误。
Debug显示:
Debug Assertion Failed
.....
.....
Expression :_CrtIsValidHeapPointer(pUserData)
.......
请教各位高手;什么原因,如何解决?
谢谢!
struct A{
....
};struct B{
CArray<A,A> AA;
......
};在.EXE中定义
B sB;
在.DLL中定义
B *pB;将sB的地址传递到pB在.DLL中生成数据调用pB->Add(...);
以后在.EXE可正常使用数据sB;
但调用sB.RemoveAll();却出现错误。
Debug显示:
Debug Assertion Failed
.....
.....
Expression :_CrtIsValidHeapPointer(pUserData)
.......
请教各位高手;什么原因,如何解决?
谢谢!
你需要为B定义operator=和copy constructor.
那么在dll中释放吧
可以添加一个接口来释放
都是release或都是debug应该就会有这个问题
2 如果在 exe中 new,应该在 exe 中delete。这是好的习惯。