Debug Assertion Failed!
解决方法:
1. 按F5调试程序
2. 在出错时,选择“重试”
3. 按ALT+7调出“调用栈”窗口
4. 双击从上往下的最近一个自己定义的函数,系统会自动把该函数所在的文件显示出来,此时程序就暂停在光标处。一般来说错误就出在这附近。可以通过查看变量的值来确认。
找到问题:
原来是重写的DeleteContents()里出了问题:
for(POSITION pos=GetFirstViewPosition();pos!=NULL;)
{
CView* pView = GetNextView(pos);
if (pView->IsKindOf(RUNTIME_CLASS(CMessageView)))
{
CMessageView* pChatView = (CMessageView*)pView;
//pChatView->m_EditBox.SetWindowText(_T("")); //就是这句,调错调了3个小时!!!!注释掉就不会报错了。但是还没来得及研究究竟是为什么。
}
}