none
模板集合类CTypedPtrArray::Add()访问错误 RRS feed

  • 问题

  • 调用int Index=pDoc->m_AddressList.Add(pList)增加一组数据到数组中,为何显示:Access violations!!

    其中:CTypedPtrArray<CObArray,CAddressList*>m_AddressList;

             class CAddressList : public CObject

    {
    }

    2012年10月21日 15:38

答案

  • Debug下打开call stack窗口,看看函数调用堆栈,找到出错的函数。
    int Index=pDoc->m_AddressList.Add(pList);  // Debug下看看pDoc指针的是否有效?

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Mr.Abor 2012年10月22日 16:04
    2012年10月22日 1:45
    版主

全部回复

  • Debug下打开call stack窗口,看看函数调用堆栈,找到出错的函数。
    int Index=pDoc->m_AddressList.Add(pList);  // Debug下看看pDoc指针的是否有效?

    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.

    • 已标记为答案 Mr.Abor 2012年10月22日 16:04
    2012年10月22日 1:45
    版主
  • Debug调试下显示:CObject下数据成员m_pData 、m_nSize 、m_nMaxSize m_nGrowBy 错误。 Error:Expression cannot be evaluated!!.此程序是多文档。                          而(DefineClass*)pDoc=(DefineClass*)pMain->GetActiveDocument();

    而框架我用CFrameWnd*pMain=(CFrameWnd*)AfxGetApp()->m_pMainWnd;这里有问题??
    • 已编辑 Mr.Abor 2012年10月22日 14:57
    2012年10月22日 14:48
  • 谢谢你的提醒,真的十分感谢。我知道问题怎么处理了。谢谢!!

    2012年10月22日 16:04