一个关于CStringList的问题?
是这样的:
函数一,返回CStringList
CStringList* GetList()
{
CStringList strList;
.........................
return &strList;
}
函数二,将获得的CStringList作为参数传入
void SetListStr(CStringList &strList)
{
.................
}
引用:
CStringList *plist;
plist = GetList();
SetListStr(*plist);
这些编译都没有问题,但是在执行的时候:
编译器提示,在产生中断,并且不能继续运行了
BOOL CObject::IsKindOf(const CRuntimeClass* pClass) const
{
ASSERT(this != NULL);
// it better be in valid memory, at least for CObject size
ASSERT(AfxIsValidAddress(this, sizeof(CObject)));
// simple SI case
中断处:-> CRuntimeClass* pClassThis = GetRuntimeClass();
return pClassThis->IsDerivedFrom(pClass);
}
其实目的很简单,即:获得一个CStringList,将其作为参数传入另外的函数,不过这个函数要求是
SetListStr(CStringList &strList),不知道你是否知晓?
先谢谢了